gpt4 book ai didi

android - fragment 中不合适的上下文菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:40 24 4
gpt4 key购买 nike

我有一个带有抽屉导航和 fragment 的 Activity 。他们每个人都有自己的带有上下文菜单的 ListView。

抽屉导航内的上下文菜单工作正常。

问题出在 fragment 内的菜单上。当我进入 fragment 的上下文菜单时,抽屉导航的菜单和 fragment 的菜单都会显示。

Activity 的方法

@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);
}

fragment 的方法

@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);
}

提前谢谢你。

最佳答案

已解决。

问题是调用了 Activity 的 onCreateContextMenu

我刚刚从 fragment 的 onCreateContextMenu 方法中删除了 super.onCreateContextMenu(menu, v, menuInfo);

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {

getActivity().getMenuInflater().inflate(R.menu.fragment_menu, menu);
}

希望它能对某人有所帮助。

关于android - fragment 中不合适的上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20825118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com