2017-03-01 37 views
0

我想加入到菜單項,但用戶可以選擇他想要看到或隱藏什麼,但我不知道我能做到這一點。我這樣做:Java的Android的動態項目添加到菜單

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:title="NARZĘDZIA"> 
     <menu> 
      <item 
       android:id="@+id/show_point" 
       android:icon="@drawable/point" 
       android:title="Pokaż wybraną pozycję obiektu" /> 
      <item 
       android:id="@+id/sync" 
       android:icon="@drawable/sync" 
       android:title="Pojedyńcze odpytanie" /> 
      <item 
       android:id="@+id/show_chooce" 
       android:icon="@drawable/show_chooce" 
       android:title="Pokaż wybrane obiekty" /> 
      <item 
       android:id="@+id/my_location" 
       android:icon="@drawable/position2" 
       android:title="Moja lokalizacja" /> 
     </menu> 
    </item> 

    <item android:title="APLIKACJA"> 
     <menu> 
      <item 
       android:id="@+id/settigs" 
       android:icon="@drawable/set" 
       android:title="Ustawienia aplikacji" /> 
      <item 
       android:id="@+id/about" 
       android:icon="@drawable/about" 
       android:title="O programie" /> 
     </menu> 
    </item> 
</menu> 

現在我想創建一個活動中,用戶可以選擇什麼這將是表演,但我不知道我怎麼可以隱藏菜單上這個項目

+0

檢查:HTTP://stackoverflow.com/questions/15580111/how-can-i-dynamically-create-menu-items – rafsanahmad007

回答

2

你可以改變Java文件

//menu intialation 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    menu.clear(); 

    MenuItem item = 
      menu.add(Menu.FIRST, R.id.dashboard_nodifycation, 3, "NODIFICATION"); 
    item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
    menu.add(Menu.FIRST, R.id.System_log, 4, "LOGOUT"); 

    dbHelper = new Database_for_GCM_data(Activity_Drawer_Dashboard.this); 
    int unread_count = Integer.parseInt(dbHelper.getUnreadCount()); 
    // calling function for nodification inflater 
    item.setIcon(buildCounterDrawable(unread_count, R.drawable.white_nodification, getApplicationContext())); 

    return true; 
} 
0
public class MyActivity extends AppCompatActivity { 

    private Menu mToolbarMenu; 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     //init menu here 
     mToolbarMenu = menu; 
     getMenuInflater().inflate(R.menu.toolbar, menu); 
     setToolbarMenuItemVisibilties(); 
     return true; 
    } 

    private void setToolbarMenuItemVisibilties() { 
     final MenuItem menuItem1 = mToolbarMenu.findItem(R.id.item1); 
     final MenuItem menuItem2 = mToolbarMenu.findItem(R.id.item2); 
     final MenuItem menuItem3 = mToolbarMenu.findItem(R.id.item3); 
     final MenuItem menuItem4 = mToolbarMenu.findItem(R.id.item4); 

     //Set visibilities 
     menuItem1.setVisible(true); 
     menuItem2.setVisible(true); 
     menuItem3.setVisible(false); 
     menuItem4.setVisible(false); 
    } 
} 

您可以更改可見性活動中的任何時間,但你要它充氣第一

相關問題