У меня есть действие, которое наследует ListActivity и показывает список, заполненный через макет XML и пользовательский класс адаптера. Это все хорошо, и, как ожидалось. Строка XML включает в себя флажок.
Теперь, что странно, так это то, что флажки кажутся связанными через столько строк. То есть, если я отмечаю флажок в строке 0, то он также проверяет флажки в строках 8, 18, 28, 38, 48 и т. Д.
С чего бы это и как я могу это исправить?
Если это уместно, я am повторно использую представление, переданное в мой адаптер, когда оно будет доступно. Также кажется, что когда я прокручиваю один из отмеченных в верхнюю часть экрана, следующий проверяемый является вторым в нижней части экрана.
Ниже мой getView
код:
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)
mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.contacts_row, null);
}
cb.GroupMembership.moveToPosition(position);
long cid = cb.GroupMembership.getLong(0);
String clk = cb.GroupMembership.getString(1);
String cnm = cb.GroupMembership.getString(2);
long pid = cb.GroupMembership.getLong(3);
ImageView bdg = (ImageView) v.findViewById(R.id.contactBadge);
Uri pic = GroupsLib.getContactPhotoUri(pid);
if (pic == null) {
bdg.setImageResource(R.drawable.contactg);
} else {
bdg.setImageURI(pic);
}
((TextView) v.findViewById(R.id.contactName)).setText(cnm);
return v;
}