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

时间:2013-03-25 04:26:16

标签: android contextmenu behavior submenu

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

现在经过实验后我发现长按该项目实际上只要我释放该项目就可以了:子菜单打开正常并保持打开状态!

所以我决定建立一个非常基本的项目,相信我的应用程序中有一个错误,使用向导创建了一个新的应用程序,一个活动,一个我在registerForContextMenu上的文本和一个带有简单子菜单的上下文菜单

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

我已经将这个问题发布在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

1 个答案:

答案 0 :(得分:2)

要解决这个问题,我不得不在上下文菜单中删除任何子菜单,而是在项目选择上打开另一个上下文菜单。

以下摆脱了闪烁并确保子菜单保持打开状态。不得不使用备用隐藏视图来打开新的上下文菜单。

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