Android上下文子菜单自行打开-关闭-重新打开

标签 android contextmenu behavior submenu

我有一个包含子菜单的上下文菜单,每当我点击该项目打开子菜单时,子菜单就会打开/关闭并快速重新打开。这非常烦人,但更有问题的是,我的一些用户根本看不到子菜单,它打开/关闭,就是这样!

现在,经过实验,我发现长按该项目实际上在我释放该项目后立即起作用:子菜单正确打开并保持打开状态!

因此,我决定构建一个非常基本的项目,相信我的应用程序中有一个错误,使用向导创建了一个新应用程序、一个 Activity 、一个我在其上注册的单个文本以及一个带有简单子(monad)菜单的上下文菜单.

问题立即重现!!!有没有人遇到同样的问题并可以告诉我我做错了什么?我相信我遵循了文档和示例,但我在任何地方都找不到有关此问题的任何信息!!!

我已在 Google 群组上发布了该问题,并报告为 Android 项目上的问题,但到目前为止没有人回复,以下是包含测试项目的两个链接(不知道如何在此处附加文件) ?)。

https://code.google.com/p/android/issues/detail?id=53239&can=4&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

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/

相关文章:

Android webview无法播放视频文件错误

android - 无法反序列化对象 - 应为 BEGIN_OBJECT 但在第 1 行第 1 列为 STRING

android - 用粗体和纯文本加载文本并在android中调用文本

Android ActionBar/Toolbar 颜色在浅色和深色主题中不同

qt - 如何禁用QDockWidget标题栏的上下文菜单

c# - 从上下文菜单发送对父对象的引用

c# - IsChecked 绑定(bind)在 ContextMenu 的 MenuItem 中不起作用

php - 有没有办法在 Propel 1 中结合 Archivable 和 Versionable 行为?

jQuery 在 Over 和 Out 上具有可拖动/可放置行为

wcf - 在 WCF REST 4.0 中使用 StandardEndpoints 时如何配置 MessageInspector