Значение сброса счетчика при прокрутке в пользовательском просмотре списка с помощью ArrayAdapter
Я новичок в Android .... Мне нужна ваша помощь.
В моем приложении я создал список с использованием собственного адаптера и пользовательского макета строки. Я преуспел в этом и Я добавил одно изображение, текстовое представление и выпадающее меню во всех строках. В выпадающем списке есть количество элементов (от 0 до 9, например.)
Но моя проблема в том, что когда я выбираю выпадающий список и устанавливаю какое-то значение, при прокрутке списка счетчик сбрасывает себя к исходному значению (здесь 0). Я использую строку значений от 0 до 9 для Spinner.
Что я могу сделать, чтобы избежать этой проблемы? Любая помощь будет принята с благодарностью .... Заранее спасибо.
//This is my custom adapter code....
public class MyProductsArrayAdapter extends ArrayAdapter {
Context context;
int resourceId;
Products data[] = null;
public MyProductsArrayAdapter(Context context, int resourceId,
Products data[]) {
super(context, resourceId, data);
this.context = context;
this.resourceId = resourceId;
this.data = data;
}
static class ProductsItemViewHolder {
ImageView image;
TextView name;
Spinner number;
}
String[] mArray = new String[] { "0", "1", "2", "3", "4", "5", "6", "7",
"8", "9" };
public View getView(final int position, View convertView, ViewGroup parent) {
View rowView = convertView;
ProductsItemViewHolder holder = null;
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (rowView == null) {
rowView = mInflater.inflate(R.layout.main2, parent, false);
holder = new ProductsItemViewHolder();
holder.image = (ImageView) rowView.findViewById(R.id.item_icon);
holder.name = (TextView) rowView.findViewById(R.id.tvListItemText);
holder.number = (Spinner) rowView.findViewById(R.id.NumberSpinner);
rowView.setTag(holder);
} else {
holder = (ProductsItemViewHolder) rowView.getTag();
}
Products f = data[position];
holder.image.setImageResource(f.itemIcon);
holder.name.setText(f.itemName);
ArrayAdapter adapter = new ArrayAdapter(context,
android.R.layout.simple_spinner_item, mArray);
holder.number.setAdapter(adapter);
return rowView;
}
}
// А вот мой код row_layout