[英]Java android Add dynamically item to menu
我想添加到菜單項,但是用戶可以選擇要查看或隱藏的內容,但是我不知道該怎么做。 我是這樣做的:
<?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>
現在,我想創建一個活動,用戶可以在其中選擇要顯示的內容,但是我不知道如何隱藏菜單上的該項
您可以更改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;
}
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);
}
}
您可以隨時在活動中更改可見性,但必須先對其進行充氣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.