在 Android 中使用无效刷新菜单
Refresh Menu with invalidate in Android
我正在开发 Android 应用程序,我想在 运行 时间刷新我的菜单。例如,如果在开始时我的菜单类似于 menu1.xml
,那么在从服务器获得任何结果后,例如 'Yes',我想用 menu2.xml
.
刷新它
我想为此使用无效功能,但我无法刷新我的菜单项。我的代码如下:
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
if (showAcceptButton==true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu1, menu);
return true;
}if (Constants.showAcceptedButton = true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu2, menu);
return true;
}
if(showNormalMenu==true){
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu3, menu);
return true;
}
return true;
}
第一次在 onCreate 时加载菜单,但在 运行 时我想加载另一个菜单项。
一次尝试如下
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
return super.onPrepareOptionsMenu(menu);
}
它将提供现有的菜单对象,您可以从中添加或删除菜单项。
更新:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.clear();
if (showAcceptButton==true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu1, menu);
return true;
}if (Constants.showAcceptedButton = true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu2, menu);
return true;
}
if(showNormalMenu==true){
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu3, menu);
return true;
}
return super.onPrepareOptionsMenu(menu);
}
希望对您有所帮助。
我正在开发 Android 应用程序,我想在 运行 时间刷新我的菜单。例如,如果在开始时我的菜单类似于 menu1.xml
,那么在从服务器获得任何结果后,例如 'Yes',我想用 menu2.xml
.
我想为此使用无效功能,但我无法刷新我的菜单项。我的代码如下:
@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
if (showAcceptButton==true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu1, menu);
return true;
}if (Constants.showAcceptedButton = true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu2, menu);
return true;
}
if(showNormalMenu==true){
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu3, menu);
return true;
}
return true;
}
第一次在 onCreate 时加载菜单,但在 运行 时我想加载另一个菜单项。
一次尝试如下
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
return super.onPrepareOptionsMenu(menu);
}
它将提供现有的菜单对象,您可以从中添加或删除菜单项。
更新:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.clear();
if (showAcceptButton==true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu1, menu);
return true;
}if (Constants.showAcceptedButton = true) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu2, menu);
return true;
}
if(showNormalMenu==true){
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu3, menu);
return true;
}
return super.onPrepareOptionsMenu(menu);
}
希望对您有所帮助。