Textwerte werden in der benutzerdefinierten Listenansicht geändert, wenn Sie die Listenansicht in Android scrollen?

In meiner Anwendung verwende ich eine benutzerdefinierte Listenansicht mit Textansicht, Bearbeitungstext und Schaltflächen. Wenn ich auf die Schaltfläche an der Position "0" klicke und die Werte der Textansicht an der Position "0" ändere, scrolle ich in der Liste nach unten -Ansicht der Werte in "0" Die Positionstextansicht wurde auf den ursprünglichen Zustand geändert.

Meine Basisadapterklasse

public class sample extends BaseAdapter{

public ArrayList<HashMap<String, String>> list;
Activity activity;

public sample(Activity activity,ArrayList<HashMap<String, String>> list) {
    super();
    this.activity = activity;
    this.list = list;
}

public int getCount() {
    // TODO Auto-generated method stub
    return list.size();
}

public Object getItem(int position) {
    // TODO Auto-generated method stub
    return list.get(position);
}

public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

class ViewHolder {

    Button order;
    TextView item_name, order_qty;
    EditText et_quantity;

}

public View getView(final int position, View convertView,final ViewGroup parent) {
    // TODO Auto-generated method stub



    final ViewHolder holder;
    LayoutInflater inflater = activity.getLayoutInflater();

    if (convertView == null) {

        convertView = inflater.inflate(R.layout.order_custom, null);

        holder = new ViewHolder();

        holder.order = (Button) convertView.findViewById(R.id.order);
        holder.item_name = (TextView) convertView.findViewById(R.id.item_name);
        holder.order_qty = (TextView) convertView.findViewById(R.id.order_count);

        convertView.setTag(holder);

    } else {
        holder = (ViewHolder) convertView.getTag();
    }
try{
    HashMap<String, String> map = list.get(position);

    holder.item_name.setText(map.get("name"));

    //Log.v("Available or not", ""+map.get("available"));


}catch(Exception e){
    e.printStackTrace();
}


holder.order.setOnClickListener(new View.OnClickListener() {

    public void onClick(View arg0) {
        // TODO Auto-generated method stub

        //here am click the button to change order count text value
        int qty = Integer.valueOf(""+holder.order_qty.getText().toString());

        qty++;

        holder.order_qty.setText(""+String.valueOf(qty));
 }
});


return convertView;
}

}

Ich weiß nicht, warum sich die Textwerte beim Scrollen in der benutzerdefinierten Listenansicht in den Anfangszustand geändert haben. Kann mir jemand helfen, dieses Problem zu lösen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage