Den*_*nis 6 android android-fragments android-contextmenu navigation-drawer
我有一个带有导航抽屉和片段的活动.他们每个人都有自己的ListView和上下文菜单.
导航抽屉内的上下文菜单工作正常.
问题在于片段内的菜单.当我进入片段的上下文菜单时,会显示两个导航抽屉菜单和片段的菜单.
活动的方法
@Override
protected void onCreate(Bundle savedInstanceState) {
registerForContextMenu(mDrawerList); // mDrawrList is the navigation drawer's ListView
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()) {
case R.id.action_edit:
// Do some stuff
return true;
case R.id.action_delete:
// Do some stuff
return true;
}
return super.onContextItemSelected(item);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.drawer, menu);
}
Run Code Online (Sandbox Code Playgroud)
片段的方法
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
mListView = (ListView) view.findViewById(R.id.list);
registerForContextMenu(mListView);
// ...
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()) {
case R.id.action_edit:
// Do some stuff
return true;
case R.id.action_delete:
// Do some stuff
return true;
}
return super.onContextItemSelected(item);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
getActivity().getMenuInflater().inflate(R.menu.fragment_menu, menu);
}
Run Code Online (Sandbox Code Playgroud)
先感谢您.
Den*_*nis 15
解决了.
问题在于活动onCreateContextMenu被称为.
我刚刚super.onCreateContextMenu(menu, v, menuInfo);从片段的onCreateContextMenu方法中删除了.
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
getActivity().getMenuInflater().inflate(R.menu.fragment_menu, menu);
}
Run Code Online (Sandbox Code Playgroud)
希望它能帮助别人.
| 归档时间: |
|
| 查看次数: |
9254 次 |
| 最近记录: |