android:以编程方式更改选项菜单项

2022-08-31 11:27:02

是否可以以编程方式更改选项菜单项?任何人都可以给我举个例子吗?

另外,我想禁用某些项目,以便它们不听点击,可能吗?


答案 1

对于需要动态更改菜单选项的任何人:

private Menu menu;

// ...

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    this.menu = menu;
    getMenuInflater().inflate(R.menu.options, menu);
    return true;
}

// ...

private void hideOption(int id)
{
    MenuItem item = menu.findItem(id);
    item.setVisible(false);
}

private void showOption(int id)
{
    MenuItem item = menu.findItem(id);
    item.setVisible(true);
}

private void setOptionTitle(int id, String title)
{
    MenuItem item = menu.findItem(id);
    item.setTitle(title);
}

private void setOptionIcon(int id, int iconRes)
{
    MenuItem item = menu.findItem(id);
    item.setIcon(iconRes);
}

答案 2

菜单.xml

  <item 
    android:id="@+id/item1"
    android:title="your Item">
  </item>

放入您的java文件

  public void onPrepareOptionsMenu(Menu menu) {

    menu.removeItem(R.id.item1);
}

推荐