在我的应用程序中,我想使用com.google.android.material.bottomappbar.BottomAppBar
视图。
我想在此视图中显示一些菜单项目,为此,我编写以下代码:detailBottomAppBar.replaceMenu(R.menu.empty_menu);
,并使用此代码可以在此视图中显示菜单项。
我要动态更改此菜单项之一的菜单图标。但我不知道该怎么做。
我可以使用带有以下代码的点击监听器来更改图标
detailBottomAppBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.detailMenu_favorite:
Toast.makeText(getViewContext(), "Favorite", Toast.LENGTH_SHORT).show();
item.setIcon(ContextCompat.getDrawable(getViewContext(), R.drawable.ic_search_24dp));
break;
case R.id.detailMenu_comment:
Toast.makeText(getViewContext(), "Comment", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
});
但是我不想点击更改此项目,我想要 打开 {{1 }更改没有单击侦听器的图标。
我该如何解决?
答案 0 :(得分:1)
创建菜单时可以保存Menu变量。这样,您可以获取所需的特定项目并进行修改。
mv python_code_myversion.ipynb python_code.ipynb
访问所需的菜单项
private Menu _menu;
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
_menu = menu;
}