android - onOptionsItemSelected 未调用

标签 android android-actionbar android-appcompat appcompatactivity

我的操作栏中有一个菜单项列表。每个项目点击应该触发不同的方法。但是永远不会调用 onOptionsItemSelected。

这是在 MainActivity 中定义 actionbar 的方式:

public class MainActivity extends AppCompatActivity {
...
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings_1) {
            //do something
            return true;
        } else if (id == R.id.action_settings_2) {
            //do something
            return true;
        } else if (id == R.id.action_settings_1) {
            //do something
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
...
}

这是操作栏菜单布局 menu_main:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.MainActivity">
    <item
        android:id="@+id/action_settings_1"
        android:orderInCategory="1"
        android:title="Item 1"
        app:showAsAction="never" />
    <item
        android:id="@+id/action_settings_2"
        android:orderInCategory="2"
        android:title="Item 2"
        app:showAsAction="never" />
    <item
        android:id="@+id/action_settings_3"
        android:orderInCategory="3"
        android:title="Item 3"
        app:showAsAction="never" />
</menu>

如何设置操作栏以便在单击操作栏项目时调用 onOptionsItemSelected?

最佳答案

在您的 onCreateOptionsMenu 中,返回 true 而不是调用 super。应该这样做

关于android - onOptionsItemSelected 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705429/

相关文章:

android - WearOS 对 PWA 的支持

java - 如何获取Android中textView的最大长度?

java - 如何使用 Parcelable 发送多维数组?

android - 对 Android 的 Action Bar 不太满意……我怎样才能减小它的大小

android - 使用 SHOW_AS_ACTION_WITH_TEXT 时项目标题未纵向显示

android - Appcompact DialogFragment单选复选标记颜色

android - 如何使用 AppCompat 库在 ActionBar 中显示 NavigationDrawer 图标

java - 如何在 Firebase 中收听多个 child ?

android - 为什么 2.1 中没有出现 actionbar sherlock?

android - 关于最新支持设计库的Day night theme