CheckedTextViews в моем ListView отметьте и снимите флажок - PullRequest
0 голосов
/ 02 марта 2012

Я потратил последние 3 часа, пытаясь заставить это работать, так что извините, если я забыл что-то опубликовать ...

Вот проблема:

  • Яиспользуя ListView, который имеет собственный BuddyArrayAdapter, который раздувает XML, содержащий изображение рядом и CheckedTextView.Я хочу иметь только один выбор, поэтому я настроил его на использование SINGLE_CHOICE.

(Представьте, что амперсанды являются изображениями, а квадратные скобки отмечены флажком.)

    //my list looks like this

    & name1Here          []

    & name2Here          []

    & name3Here          []

    & name4Here          []

Я опубликую код завтра, но вот что я испытал.- если я использую getChildAt () в onItemClick () в listView, случайные дочерние элементы включаются и выключаются, но после достаточного количества щелчков все они в конечном итоге снимаются- если я реализую CheckTextView.onClick () в getView () адаптера, я получаю nullpointerexceptions для каждой строки в списке.- если я сделаю что-нибудь еще, что имеет смысл, после выбора строки, флажок помечается и сразу снимается, как если бы я не нажимал.Но он все еще "нажал", потому что я могу получить его с помощью listView.getCheckedItemPosition ()

Я просмотрел код и больше нигде не вызываю toggle ().Единственный clickListener, который у меня есть, находится в списке.

По сути, так он выглядит сейчас

        public void onItemClick(AdapterView<?> parent, View view, int position, long id)
        {
            listConversations.setItemChecked(position, true);
            Log.d("<>>>>>>>>>>>>>>>>>>>>>>>>>>>", "listConversations.getCheckedItemPosition() = "+listConversations.getCheckedItemPosition());

            listConversations.


            OnContactClick(position, id);
        }

Зарегистрированное число верное.Однако даже при таком тупом подходе проверяемая часть CheckedTextView по-прежнему помечается галочкой / убирает галочку в один клик.Это была моя последняя попытка на сегодня, так как я ожидал, что просмотр списка будет отмечать все остальные, но нет.Либо у меня их больше одного, либо вообще нет.

Если вы до сих пор не поняли вопрос - что я испортил, чтобы заработать этот ад и не смог заставить работать галочку, как положеноto?!?!

Пожалуйста, помогите.Я потратил 3 часа на эту смехотворно отсталую вещь.Я в отчаянии.

lastminuteadd: похоже, у меня та же проблема, что и у этого парня ListView: setItemChecked работает только со стандартным ArrayAdapter - НЕ работает при использовании настроенного ArrayAdapter?

1 Ответ

0 голосов
/ 21 августа 2012

Потому что никто не ответил, я думаю, мне придется ...

Хитрость заключалась в том, чтобы сделать класс Wrapper реализующим Checkable. И сделать класс-обёртку, если он отсутствует ...

...