Привет всем, я знаю, что есть ряд руководств по реализации пользовательского адаптера, но я не уверен, что это правильно для меня.У меня есть представление списка пользовательского макета элемента, состоящего из двух TextViews и CheckBox.У меня есть следующий код:
list.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position,
long rowid) {
CheckBox c = (CheckBox) view.findViewById(R.id.item_chkbox);
c.setChecked(!c.isChecked());
String n = ((TextView) view.findViewById(R.id.item_charName)).getText().toString();
String p = ((TextView) view.findViewById(R.id.item_playerName)).getText().toString();
...
Когда я нажимаю на элемент в списке, флажок срабатывает и проверяется, но он не правильный.Это тоже не случайно.Сработавший CheckBox всегда находится на противоположной стороне, зеркально отображаясь в центре списка.Например, если бы у меня был список:
0 1 2 3 4
и нажав «0», проверка 4 сработала бы.Если бы я нажал 1, чек 3 сработал бы.Если я коснусь 2, 2 проверить чеки.Даже более странно, если я нажму 0 дважды, 3 проверки, затем 0 проверок.Нажмите в третий раз, 3 снимите флажки.Четвертый - 0 снимает галку.Это продолжается в соответствии со всеми случаями.Я не могу понять, что происходит.
Обратите внимание, что строки n и p обе отображаются правильно.Другими словами, нажатие 0 приведет к извлечению строки для «имени» в соответствующем элементе списка.Это только CheckBoxes, которые не в порядке.Есть идеи?