2013-08-06 16 views
7

...メニューの問題

6つ以上のオプションを持つメニュー、またはデフォルトではAndroidが表示するメニュー。 残りのオプションを表示するMOREボタンをクリックすると、他のすべてのオプションを示すポップアップリストが表示されますが、いずれのオプションもクリックできないという苦情があります。ポップアップするリストは、戻るボタン以外のユーザーの操作を受け付けません。

誰もがこれがなぜ起こっているのでしょうか?私が持っているデバイスやエミュレータでエラーを再現することができません....私はコードが基本的なものであるため、断片化の問題やOSの変更の問題を扱っていると仮定しています。

誰もが考えている?これが起こる可能性のある何らかの形でメニューが大幅に変更されましたか?私はあなたが適切に発行し、その後、私は、問題の同様のタイプに直面していた理解している場合

+0

このメニューを作成して使用しているコードの一部を表示してください。おそらく、Android 4.0以降に変更された問題や何かを見ることができたかもしれません。 – Opiatefuchs

+0

確かに、私は今日後で投稿しますが、基本的なonCreateOptionsMenu、onOptionsItemSelectedモデル...それについては何も気にしません。 – user282172

+0

これは全く意味がありません。オプションメニューのMOREサブメニューは完璧に動作しますが、それ以外の時は表示されますが、何もクリックできません。BACKボタンをクリックしてMOREボタンを再度選択すると、 – user282172

答えて

2

問題 - 2.xでは、メニューのために1つの専用キーを持っていますが、4.xでないので、我々はそれをチェックする必要があるました

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.app_list); 
     checkMenu(); 
        //other stuff 
     } 
@SuppressLint("NewApi") 
    public void checkMenu() { 
    boolean hasMenu = ViewConfiguration.get(this).hasPermanentMenuKey(); 
     if (!hasMenu) { 
      try { 
    getWindow().addFlags(WindowManager.LayoutParams.class.getField("FLAG_NEEDS_MENU_KEY").getInt(null)); 
     } catch (NoSuchFieldException e) { 
       e.printStackTrace(); 
     } catch (IllegalAccessException e) { 
       e.printStackTrace(); 
     } 
     } 
    }