我想知道我是否可以在初始化菜单后更改菜单项图标,这是我的代码:
<tr ng-repeat="data in srdebitnote | filter:{raised: 'true'} | filter:{raised_two: 'true'} ">
我在 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
inflater.inflate(R.menu.right_menu, menu);
this.menu = menu;
updateMenuButton();
}
public void updateMenuButton() {
if (menu != null) {
if (verificato) {
this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_clear_white_24dp);
} else {
this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_done_white_24dp);
}
}
}
结束时致电updateMenuButton
,但在尝试访问此内容时:
onCreateOptionsMenu
我收到此错误:
this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_clear_white_24dp);
所以我认为项目菜单尚未添加?如果我在java.lang.IndexOutOfBoundsException: Invalid index 2131624115, size is 1
结尾处删除了updateMenuButton()
来电,我可以看到菜单项。
我该怎么办?
由于
答案 0 :(得分:0)
那是因为&#34; getItem(int index)&#34;获取给定索引处的菜单项。
我想你必须写menu.getItem(0);