2013-03-25 115 views
2

我有一個上下文菜單,其中包含一個子菜單,當我點擊該項目打開子菜單時,子菜單打開/關閉,很快重新開放。這是非常煩人的,但更多的問題,我的一些用戶根本沒有看到子菜單,它打開/關閉,就是這樣!Android上下文子菜單自己重新打開

現在經過試驗,我發現在我釋放項目後,長時間按下該項目實際工作:子菜單正常打開並保持打開狀態!

所以我決定建立一個非常基本的項目相信我在我的應用程序有一個bug,創建了嚮導,單個活動,關於這一點我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

+0

您好,沒有人在那裏提供一些洞察到這一點?這似乎是基本的東西,我很驚訝沒有人有過這個問題呢? – 3c71 2013-04-29 10:50:45

回答

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