我有一個文本框和一個按鈕Arrayadpter。每次按下按鈕時,文本框都應該添加1.問題是,當我滾出屏幕時,輸入項丟失。我知道我應該使用CheckForUpdateListener或類似的東西,但我不知道如何實現它。感謝您的幫助:Arraylist:添加文本到按鈕單擊項目
public class startseitenAdapter extends ArrayAdapter<getraenkeObjekt> {
Context context;
int layoutResourceId;
int anzahl;
ArrayList<getraenkeObjekt> data = new ArrayList<getraenkeObjekt>();
public startseitenAdapter(Context context, int layoutResourceId, ArrayList<getraenkeObjekt> data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
UserHolder holder = null;
if (convertView == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
convertView = inflater.inflate(layoutResourceId, parent, false);
if (position % 2 == 1) {
convertView.setBackgroundColor(Color.DKGRAY);
} else {
convertView.setBackgroundColor(Color.BLACK);
}
holder = new UserHolder();
holder.getraenkename = (TextView)
holder.getraenkename = (TextView) convertView.findViewById(R.id.textView1);
holder.plus = (Button) convertView.findViewById(R.id.button);
holder.anzahl = (TextView) convertView.findViewById(R.id.textView);
convertView.setTag(holder);
} else {
holder = (UserHolder) convertView.getTag();
}
final UserHolder finalHolder = holder;
holder.plus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int summand = 1;
Log.d("Adapter", "plus " + summand + " Position " + position);
MySQLiteHelper m = new MySQLiteHelper(context);
final int globid = position;
int anzahl = m.wertAenderung(globid, summand);
finalHolder.anzahl.setText(anzahl + " ");
}
});
getraenkeObjekt drink = data.get(position);
holder.getraenkename.setText(drink.getname());
holder.anzahl.setText(drink.getanzahl()+" ");
return convertView;
}
static class UserHolder {
TextView getraenkename;
TextView anzahl;
Button plus;
}
張貼活動@ user3336320 – Joy