如何操作活动的选项菜单

时间:2013-08-29 21:25:21

标签: android android-activity android-xml android-menu android-optionsmenu

我用Google搜索并且没有提供关于如何操作设置按钮的操作的代码,或按下手机上的设置触摸按钮时显示的内容。

以下是我的意思截图:

enter image description here

在底部,您可以看到它显示设置,但是当我点击它时,没有任何反应。我想改变点击它时发生的事情。

此外,我希望能够在按下实际手机上的设置按钮时更改显示的内容(屏幕截图中的设置选项是显示的内容)。例如。在S3上,它是设备左下角的触摸按钮。

任何人都可以将我链接到资源,或者编写一些示例代码以了解如何执行这两项操作,甚至是我想要做的事情之一?

1 个答案:

答案 0 :(得分:3)

您需要覆盖Activity的onOptionsItemSelected(...)方法。

这样做:

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    if (item.getItemId() == R.id.action_settings) { // or whatever your id is, see the .xml file
        // do something

        return true;

    } else {
        return super.onOptionsItemSelected(item);
    }
}

检查选项的ID(例如设置)并在if中执行特定内容。

要添加更多项目或操作Id,请查看项目“menu”文件夹及其中的.xml文件。

这是我主菜单的.xml文件:

enter image description here

它看起来如何:

您可以操作此文件并向其中添加更多操作将显示在菜单中)

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/action_one" android:title="Action 1"></item>
    <item android:id="@+id/action_two" android:title="Action 2"></item>
    <item android:id="@+id/action_three" android:title="Action 3"></item>

</menu>

在这种情况下,我的菜单会有3个操作,您应该在onOptionsItemSelected(...)方法中检查它们:

 if (item.getItemId() == R.id.action_one) //...

...或使用 switch-case。 有关更详细的说明,您还可以查看本教程:

  

http://mobile.tutsplus.com/tutorials/android/android-sdk-implement-an-options-menu/