Я пытаюсь настроить событие нажатия для всплывающего меню в Android.Я создал overidden onOptionsItemSelected()
, но, похоже, ничего не происходит.Вот файл popupmenu.xml:
popupmenu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/help"
android:title="Help" />
<item android:id="@+id/information"
android:title="Information" />
<item android:id="@+id/services"
android:title="Services" />
<item android:id="@+id/overdose"
android:title="Overdose" />
</menu>
Вот метод onOptionsItemSelected()
:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.help:
Toast toast = Toast.makeText(this, "Help Works", Toast.LENGTH_SHORT);
toast.show();
return true;
case R.id.information:
Toast toast2 = Toast.makeText(this, "Information Works", Toast.LENGTH_SHORT);
toast2.show();
return true;
case R.id.services:
Toast toast3 = Toast.makeText(this, "Services Works", Toast.LENGTH_SHORT);
toast3.show();
return true;
case R.id.overdose:
Toast toast4 = Toast.makeText(this, "Services Works", Toast.LENGTH_SHORT);
toast4.show();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
У меня сложилось впечатление, что onOptionsItemSelected()
вызывается всякий раз, когда выбирается пункт меню, и для него не требуется атрибут android:onClick
в макете для действия.Есть что-то, чего я здесь не хватает?В противном случае всплывающее меню работает отлично.