Панель действий Шерлок - PullRequest
       18

Панель действий Шерлок

5 голосов
/ 01 ноября 2011

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

Вот мой код:

@Override 
public boolean onCreateOptionsMenu(final Menu menu) { 
   prepareQuickActions();

   MenuItem menuItem = menu.add("Text"); 
   menuItem.setIcon(R.drawable.ic_action_dialog_map) 
           .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);

   menuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { 
       @Override 
       public boolean onMenuItemClick(final MenuItem item) { 
           quickAction.show(item.getActionView()); 
           return true; 
       } 
   }); 
}

Проблема в том, что item.getActionView() возвращает ноль. Где может быть проблема? Ошибка в библиотеке?

Ответы [ 2 ]

2 голосов
/ 23 декабря 2011

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

Также см. Различный вид / стиль для конкретного пункта меню на ActionBar

0 голосов
/ 27 июня 2013

Возможно, ваш файл menu.xml неверен. Проверьте свой путь для Android: actionViewClass:

...