Задача выбора элемента из списка возникает в Android-приложениях регулярно. В принципе, для выбора элемента можно воспользоваться
стандартным контекстным меню. Но у контекстного меню есть ряд ограничений:
- В контекстном меню функции вызова (
onCreateContextMenu
) и обработки результатов(onContextItemSelected
) реализуются в Activity.
- Нельзя выбрать несколько элементов.
- В контекстном меню показывается только название элемента. Картинки не отображаются.
Наиболее напрягает необходимость реализации функций в Activity. Типичная ситуация - вам нужна вспомогательная функция, которая предлагает пользователю что-нибудь выбрать из списка и затем выполняет действие над выбранным элементом. Такая функция может вызываться из
множества разных Activity. И что, мне в каждой Activity реализовывать функции
onCreateContextMenu
и
onContextItemSelected
? Так не пойдет.
Лучше сделать диалог. А поскольку подобные диалоги нужны сплошь и рядом, нужно сделать более-менее универсальный диалог, который подойдет для выбора элементов в большинстве случаев. О реализации такого диалога и пойдет речь.