java - 操作栏菜单项不起作用

标签 java android android-actionbar

我创建了一个带有两个菜单项的操作栏。当我尝试对按钮使用 Intent 时,它们不起作用。当点击菜单项时,将加载网页。如何做。

主.xml:

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

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        yourapp:showAsAction="never"
        android:title="@string/action_settings"/>

    <item
        android:id="@+id/camera"
        android:icon="@drawable/ic_menu_camera"
        android:title="Camera"
        yourapp:showAsAction="always"/>

    <item
        android:id= "@+id/emoticons"
        android:icon="@drawable/ic_menu_emoticons"
        android:title="Emoticon"
        yourapp:showAsAction="always"/>
</menu>

主要 Activity .java:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return super.onCreateOptionsMenu(menu);
    }

    public boolean OnOptionsItemSelected(MenuItem item){

        switch(item.getItemId()) {
        case R.id.camera:
            startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://www.google.com/")));

            return true;
        case R.id.emoticons:
            startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://www.google.com/")));
            return true; 

        default:
            return super.onOptionsItemSelected(item);

        }
    }   
}

谢谢

最佳答案

您的方法被错误的名称覆盖(因此没有被覆盖,而是一个不同的方法),因此没有被菜单调用。

public boolean OnOptionsItemSelected(MenuItem item) {

应该以小写的“o”开头

@Override
public boolean onOptionsItemSelected(MenuItem item) {

您应该使用 Override 注释来避免此类错误。

关于java - 操作栏菜单项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21722461/

相关文章:

java - Apache POI - CONCAT 函数未实现错误

java - "Fix your application"部署 war 时来自 glassfish 的警告

Android 工具栏覆盖了一个 fragment

android - 自定义 ActionBar View 中的微调器

带有上下文操作栏的 Android Card UI 样式 ListView?

java - 没有为 Content-Type : application/json 定义解析器

java - PreferenceFragmentCompat 内的 TimePicker(DialogFragment)

android - 如何在 SQlite android 中获取最后插入的行

android - 以编程方式绘制多个矩形

android - 将 MVP 模式与 MonoDroid 结合使用