片段的菜单问题

时间:2014-10-10 08:53:29

标签: android android-fragments android-menu

enter image description here

你好,我点击我片段的所有内容。它为操作栏添加了一个菜单按钮。所以,如果我点击它3次。它添加了3次菜单按钮..

有谁知道哪里出错了???

这是我的代码

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Intent i = null;
    switch (item.getItemId()) {
    case R.id.refresher:

        i = new Intent(this.context, CameraInfoActivity.class);

        startActivity(i);

        return true;

    case R.id.settings:

        return true;

    default:
        return super.onOptionsItemSelected(item);
    }
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    // TODO Auto-generated method stub
    super.onCreateOptionsMenu(menu, inflater);
    inflater = getActivity().getMenuInflater();
    inflater.inflate(R.menu.menu_indoor, menu);

}

我加了

    setHasOptionsMenu(true);

在我的OnCreateView上。

这是我的menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/refresher"
    android:menuCategory="system"
    android:orderInCategory="100"
    android:icon="@drawable/ic_action_refresh"
    android:title="@string/menu_add"
    android:showAsAction="always" />
<item android:id="@+id/settings"
    android:menuCategory="system"
    android:orderInCategory="100"
    android:icon="@drawable/ic_action_settings"
    android:title="@string/menu_settings"
    android:showAsAction="never" />

1 个答案:

答案 0 :(得分:0)

尝试删除此代码:

inflater = getActivity().getMenuInflater();

你已经有了inflater

尝试致电

setHasOptionsMenu(true);

在fragment的构造函数中,而不是在onCreateView