我有一个包含子菜单的上下文菜单,每当我点击该项目打开子菜单时,子菜单就会打开/关闭并快速重新打开。这非常烦人,但更有问题的是,我的一些用户根本看不到子菜单,它打开/关闭,就是这样!
现在,经过实验,我发现长按该项目实际上在我释放该项目后立即起作用:子菜单正确打开并保持打开状态!
因此,我决定构建一个非常基本的项目,相信我的应用程序中有一个错误,使用向导创建了一个新应用程序、一个 Activity 、一个我在其上注册的单个文本以及一个带有简单子(monad)菜单的上下文菜单.
问题立即重现!!!有没有人遇到同样的问题并可以告诉我我做错了什么?我相信我遵循了文档和示例,但我在任何地方都找不到有关此问题的任何信息!!!
我已在 Google 群组上发布了该问题,并报告为 Android 项目上的问题,但到目前为止没有人回复,以下是包含测试项目的两个链接(不知道如何在此处附加文件) ?)。
https://groups.google.com/forum/?fromgroups=#!topic/android-developers/SLteohmgyy0
最佳答案
为了解决这个问题,我必须删除上下文菜单中的任何子菜单,而是在项目选择上打开另一个上下文菜单。
以下内容消除了闪烁并确保子菜单保持打开状态。不过,必须使用备用的隐藏 View 来打开新的上下文菜单。
if (id == R.id.menu_item_for_sub_menu)
{
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
View v = vg.findViewById(R.id.fake_view_for_context);
if (v != null)
{
registerForContextMenu(v);
openContextMenu(v);
unregisterForContextMenu(v);
}
}
}, 0);
}
关于Android上下文子菜单自行打开-关闭-重新打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607633/