Контекстное меню для элемента счетчика - PullRequest
1 голос
/ 15 марта 2011

Как мне добавить контекстное меню во всплывающее окно счетчика?

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

Мне кажется, я не могу найти способ зарегистрировать контекстное меню для окна, которое появляется с выбираемыми элементами.Есть ли способ, как в представлении списка?

В противном случае, как насчет того, чтобы иметь скрытое представление, зарегистрированное для контекстного меню, а затем использовать вызов OnItemLongClickListener счетчика openContextMenu для скрытого представления?Это похоже на хак, так что я бы предпочел сделать это правильно, если это возможно.

Или, может быть, я должен просто зарегистрировать счетчик для контекстного меню вместо того, чтобы иметь скрытый ...

Спасибо!

1 Ответ

2 голосов
/ 15 марта 2011

Как мне добавить контекстное меню во всплывающее окно со спиннером?

В идеале, вы бы даже не попробовали. Классические всплывающие контекстные меню устареют с новым пользовательским интерфейсом Honeycomb, по крайней мере, для форм-фактора планшета, поэтому я бы не стал тратить кучу времени на взлом их в виджетах, где они обычно не используются.

Более того, пользователи вряд ли обнаружат ваше контекстное меню, просто потому, что они, как правило, не слишком часто открывают контекстные меню. Пользователи, как правило, не экспериментируют, случайно нажимая на экран в течение секунды плюс, чтобы увидеть, всплывают ли меню. Единственный способ узнать о вашем контекстном меню - это прочитать прекрасное руководство, и мы все знаем, как часто это происходит. Следовательно, вам нужен какой-то другой способ для того, чтобы пользователь мог выполнять те же самые операции - иметь возможность редактировать / удалять только через недоступное для обнаружения контекстное меню очень враждебно для пользователя. Следовательно, контекстные меню в лучшем случае являются ускоряющими, и их не стоит загонять в неожиданные и неподдерживаемые места.

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

Если вам нужно контекстное меню, преобразуйте Spinner в ListView. Это не только будет постепенно обнаруживаться (некоторые пользователи будут привыкать к интересным вещам, если долго нажимать на элемент списка), но и контекстные меню работают естественным образом.

Если вы действительно хотите, вы можете клонировать Spinner (и, возможно, AbsSpinner или другие суперклассы) в свой проект, чтобы вы могли контролировать поведение раскрывающегося списка, а затем написать что-то, что включает контекстное меню в диалоговое окно выбора. Затем вам нужно помнить, что ничего из этого не будет работать, скорее всего, с новым Spinner в Android 3.0, просто потому, что больше нет диалогового окна выбора.

...