Gmail-подобный ListView с флажками (и с помощью ActionBar)

Я пытаюсь воссоздать то, что Google сделал с ListView в приложении Gmail. В частности, я хотел бы, чтобы каждый элемент списка включал CheckBox и два TextView (один поверх другого). Мне нужны слушатели, когда CheckBox отмечен (или нажат) и когда нажимается где-нибудь еще в элементе списка. Наконец, я бы хотел, чтобы панель действий отражала, что элементы выбраны, и предоставляла такие параметры, как «Выбрать все», «Нет выбора» и т. Д. (См. этот снимок экрана ).

enter image description here

Итак, вот макет, который я придумал.




    

    

        

        

    


Здесь все отображается правильно, но мне нужны указатели, как настроить слушателей для двух представлений ( @ + id / checkBox и @ + id / linearLayout1 ).Я просмотрел демонстрацию API List16 , но они используют макет simple_list_item_activated_1, и я не уверен, как выглядит XML для этого. Как следует из их кода, я создал класс ModeCallback , который реализует ListView.MultiChoiceModeListener , и я установил режим выбора ListView на CHOICE_MODE_MULTIPLE_MODAL, но я не знаю, как получить CheckBox в моем макет для работы с этим.

Кто-нибудь успешно скопировал поведение ListView приложения Gmail? Я довольно много искал и ничего не нашел (несмотря на то, что несколько других задавали похожие вопросы, как этот - большинство ответов просто указывают на ту же демонстрацию API).

Кроме того, для контекста я загружаю данные из базы данных SQLite в список и создал свой собственный адаптер Cursor (который отлично работает). У меня есть ощущение, что мне нужно настроить слушателей в этом классе в методах newView () и bindView (), но все, что я пробовал, не сработало.

Есть идеи?

18
задан Community 23 May 2017 в 12:33
поделиться