Java 如何将侦听器添加到动作溢出图标?

Java 如何将侦听器添加到动作溢出图标?,java,android,Java,Android,我希望它在单击时立即将用户发送到设置页面,而不是打开菜单的操作溢出图标 我知道,为了创建动作溢出图标并使其打开菜单,您可以这样做: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.pab_menu, menu); return true; } 因此,我将其替换为: @Ov

我希望它在单击时立即将用户发送到设置页面,而不是打开菜单的操作溢出图标

我知道,为了创建动作溢出图标并使其打开菜单,您可以这样做:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.pab_menu, menu);
    return true;
}
因此,我将其替换为:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Intent intent = new Intent(this, SettingsActivity.class);
    startActivityForResult(intent, 8);
    return true;
}

不用说,它不起作用。

您可以添加一个菜单项,使图标始终可见。您可以指定溢出图标,并将其设置为始终显示

因此,您的pab_menu.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/settings"
        android:icon="@drawable/overflow_icon"
        android:title="@string/settings"
        android:showAsAction="always" />
</menu>

您可以添加一个菜单项,并使其对图标始终可见。您可以指定溢出图标并将其设置为始终显示

因此,您的pab_menu.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/settings"
        android:icon="@drawable/overflow_icon"
        android:title="@string/settings"
        android:showAsAction="always" />
</menu>

如果图标显示有空间,Actionbar会自动调整。。。否则在溢出中崩溃。。。您可以始终使用“showAsAction”强制外观。通常,建议使用“ifRoom”。如果您有appcompat使用“app:showAsAction”,我刚刚测试了它,它100%按我的要求工作:)如果有图标出现的空间,Actionbar会自动调整。。。否则在溢出中崩溃。。。您可以始终使用“showAsAction”强制外观。一般来说,建议使用“ifRoom”。如果您有appcompat使用“app:showAsAction”,我刚刚测试了它,它可以100%正常工作:)