作者:Eminem被注册了 | 来源:互联网 | 2023-08-10 16:04
我不确定在这里如何使用onPrepareOptionmenu。
//about and register
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.option,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case (R.id.register):
Intent intent;
intent = new Intent(p1751534.this,RegisterForm.class);
startactivity(intent);
break;
case (R.id.about):
intent = new Intent(p1751534.this,About.class);
startactivity(intent);
break;
}
return super.onOptionsItemSelected(item);
}
任何帮助将不胜感激!
示例:
这是您可以执行的操作。覆盖onPrepareOptionsMenu
方法。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item = menu.findItem(R.id.register);
if (isRegister) {
item.setTitle("UnRegister");
} else {
item.setTitle("Register");
}
return super.onPrepareOptionsMenu(menu);
}
并从您的活动或片段中调用它
invalidateOptionsMenu();
,
您可以根据是否注册isRegister为菜单创建两个布局:
public boolean onCreateOptionsMenu(Menu menu) {
if(isRegister){
getMenuInflater().inflate(R.menu.unregister,menu);
}else{
getMenuInflater().inflate(R.menu.register,menu);
}
return true;
}