Android 退出首选项后刷新选项菜单
我在主菜单中有一个项目(和图标),它依赖于首选项菜单中的一个复选框。 当我选中复选框时,图标会出现并启用,否则图标会消失或变灰并禁用。 为了使我使用:Android 退出首选项后刷新选项菜单,android,Android,我在主菜单中有一个项目(和图标),它依赖于首选项菜单中的一个复选框。 当我选中复选框时,图标会出现并启用,否则图标会消失或变灰并禁用。 为了使我使用: @Override public boolean onPrepareOptionsMenu (Menu menu) { boolean isactive = _appSettings.IsSendReportActive(); menu.findItem(R.id.action_send).setEna
@Override
public boolean onPrepareOptionsMenu (Menu menu) {
boolean isactive = _appSettings.IsSendReportActive();
menu.findItem(R.id.action_send).setEnabled(isactive);
menu.findItem(R.id.action_send).setVisible(isactive);
return true;
}
但菜单启用或禁用仅当我在MainActivity中选择菜单时,我希望在退出首选项菜单后。
是否可能?首次创建活动时,您可以在
onCreateOptions菜单
功能中设置菜单选项
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
boolean isactive = _appSettings.IsSendReportActive();
menu.findItem(R.id.action_send).setEnabled(isactive);
menu.findItem(R.id.action_send).setVisible(isactive);
return true;
}
protected void onResume() {
super.onResume();
invalidateOptionsMenu();
}
返回活动时,可以调用onResume()
中的invalidateOptionsMenu()
函数重新绘制菜单。它调用创建选项菜单上的功能
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
boolean isactive = _appSettings.IsSendReportActive();
menu.findItem(R.id.action_send).setEnabled(isactive);
menu.findItem(R.id.action_send).setVisible(isactive);
return true;
}
protected void onResume() {
super.onResume();
invalidateOptionsMenu();
}