2016-05-03 5 views
-1

メニューリストを動的に作成しようとしていますが、メニューオプションを作成できましたが、コードを実行するたびにメインアイテムのアイコンが消えます。 :メニューを動的に作成するとAndroid SubMenuアイコンが消える

private static final int SUB_Menu_ONE = R.menu.settings; 
    private static final int SUB_Menu_TWO = R.menu.settings + 1; 
    private static final int SUB_Menu_THREE= R.menu.settings + 2; 
    private static final int SUB_Menu_FOUR = R.menu.settings + 3; 



@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.settings, menu); 
    return true; 
} 
// private Menu menu; 
@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 


    menu.clear(); 


     menu.add(0, SUB_Menu_ONE, Menu.NONE, "Sub Menu Item 0"); 
     menu.add(0, SUB_Menu_TWO, Menu.NONE, "Sub Menu Item 1");  
     menu.add(0, SUB_Menu_THREE, Menu.NONE, "Sub Menu Item 2");  
     menu.add(0, SUB_Menu_FOUR, Menu.NONE, "Sub Menu Item 3"); 

    return super.onCreateOptionsMenu(menu); 

} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    Intent inent; 
    switch (item.getItemId()) { 
     case SUB_Menu_ONE: 

// doStuff(); 休憩。 case SUB_Menu_TWO: // doStuff(); 休憩。 case SUB_Menu_THREE: // doStuff(); 休憩。 case SUB_Menu_FOUR: // doStuff(); 休憩。 デフォルト: //ここに到達した場合、ユーザーの操作は認識されませんでした。 //スーパークラスを呼び出して処理します。 返されるsuper.onOptionsItemSelected(item);

} 

    return false; 
} 

は、ここでは、プログラムのアイコンを設定する必要がすべてのヘルプは

答えて

0

歓迎されているメニュー設定

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:compat="http://schemas.android.com/tools"> 
    <!-- Settings, should always be in the overflow --> 
    <item android:id="@+id/action_settings" 
     android:title="@string/action_settings_title" 
     android:icon="@drawable/cuslistticketbutton" 
     app:showAsAction="always|withText" 
     android:actionLayout="@layout/custabview" 
     compat:showAsAction="ifRoom" 
     > 
       <!--<menu>--> 
        <!--<item--> 
         <!--android:id="@+id/menu_addticket"--> 
         <!--android:showAsAction="never"--> 
         <!--android:icon="@drawable/add_tickets"--> 
         <!--android:title=""--> 
         <!--compat:ignore="AppCompatResource,HardcodedText" />--> 

       <!--</menu>--> 

</item> 


</menu> 

のための私のXMLレイアウトです。私は、以前のコードが、アイコンはまだ表示されていないが試してみる

menu.add(0, SUB_Menu_ONE, Menu.NONE, "PREMIUM (Live Video & Audio)").setIcon(R.drawable.icon); 
+0

、私はあなたがsuper.onPrepareOptionsMenu()を呼び出す必要があり、私が知っているすべてのトリックを試してみるが、それでもゼロ@Dineshボブ – Michael

+0

です。 insidePrePareOptionsMenu内。 super.onCreateOptionsMenu()ではありません。 – Bob

+0

はまだ動作していません – Michael

関連する問題