你好,我点击我片段的所有内容。它为操作栏添加了一个菜单按钮。所以,如果我点击它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" />
答案 0 :(得分:0)
尝试删除此代码:
inflater = getActivity().getMenuInflater();
你已经有了inflater
尝试致电
setHasOptionsMenu(true);
在fragment的构造函数中,而不是在onCreateView
中