2010-07-12 2 views
4

Итак, у меня есть подменю, которое у меня есть для пункта меню параметров. Я хочу список проверяемых записей, которые пользователь может выбрать/отменить выбор столько, сколько они захотят. Единственная проблема, которую я не могу решить, заключается в том, как предотвратить закрытие меню параметров при нажатии одной из этих флажков. Я видел, что у параметра performShortcut есть флаг FLAG_PERFORM_NO_CLOSE, но я не уверен, как использовать этот метод. Я пробовал много вещей, но я смущен тем, откуда должен пройти ключ, или если это даже правильный метод, над которым я должен смотреть.Параметры подменю Android для отслеживания

So tl; dr: Как предотвратить закрытие меню/подменю опций при выборе опции?

+0

Вероятно, возврат true/false из обработчика меню сделает это. Проверьте обработчики меню. – Pentium10

+0

Я попытался вернуть false из onOptionsItemSelected. Это не работает. – Falmarri

+0

Как насчет возврата истины? – Pentium10

ответ

0

Способ, которым я бы справился с этим, - использовать стандартный класс диалогового окна предупреждения. В своем обработчике меню создайте AlertDialog и передайте массив своих вариантов в Builder.

метод вы должны обратить внимание на AlertDialog.Builder.setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener)

Передайте массив к этому методу и поместите код выбора подменю в ClickListener.

+0

Является ли этот метод предпочтительным для создания совершенно нового действия и объявления его как диалога в моем манифесте, а затем создания самих списков контрольных списков? Я знаю, что это больше работает, и я знаю, как делать то и другое. Но один выбор явно лучше другого? – Falmarri

+0

@Falmarri Если вам не нужна какая-либо настройка за пределами списка текстовых элементов, стандартный метод alertdialog - это путь. Вы должны сделать это с помощью метода ShowDialog() Activity. Это много проблем с потоками и контролем. – CodeFusionMobile

Смежные вопросы