2014-01-22 2 views
1

В Android я создал панель действий и добавил к ней несколько элементов меню. Когда я нажимаю пункты меню, я выполняю некоторые действия.Как отключить событие «Длительное нажатие» панели «Действие» Пункт меню?

При длинном щелчке я нахожу пустое сообщение тоста. Мой вопрос заключается в том, как отключить тост при длительном нажатии?

ответ

5

Вместо того чтобы отключить пустой вид «toast like», вы можете добавить атрибут «android: title», чтобы описать, что на самом деле делает действие.

Пример:

<item android:id="@+id/action_websearch" 
     android:icon="@drawable/action_search" 
     android:title="@string/action_websearch" 
     android:showAsAction="ifRoom|withText" /> 
+0

спасибо за ур предложение :) – Rojesh

+0

Это показывает правильный текст для меня, но не очень хороший дисплей. Любая идея, как стилизовать тосты сообщение? Я искал способ, но не повезло. – eimmer

+0

Я использую библиотеку appcompat и создаю панель инструментов с помощью setSupportActionBar (панель инструментов), так как сообщение тоста не отображается при длительной печати даже после того, как я установил заголовок и showAsAction в ifRoom | withText, как и ваш пример. Любая идея почему? – Bruce

2

в menu_add_key макета относится к пользовательскому макету:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tumblr="http://schemas.android.com/apk/res-auto" > 

<item 
    android:id="@+id/menuAddKey" 
    android:actionLayout="@layout/item_addkey" 
    android:showAsAction="always" 
    android:title=""/> 

</menu> 

определить свой item_addkey макета, как вы хотите

и в Java коде:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu_add_key, menu); 
    menu.findItem(R.id.menuAddKey).getActionView().setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
       showAddKeyDialog(""); 
      } 
    }); 
    return true; 
} 
0

Отключить длинный нажмите на пункт меню:

menu.findItem(R.id.menuAddKey).getActionView() return null 
Смежные вопросы