我正在开发一个应用程序,其中我在操作栏上显示按钮。我现在正在做的只是在菜单文件夹下的 main.xml 中添加项目。但是,如果在 main.xml 中添加3项,那该怎么办?如果膨胀任何活动的 main.xml ,它会向我显示3个项目,但我只想要一个项目,所以有什么方法我不需要创建不同的xml文件。
以下是代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
/** define action for the action bar button*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case android.R.id.home:
finish();
overridePendingTransition(R.anim.slide_enter, R.anim.slide_exit);
break;
case R.id.action_create:
fname=et_fname.getText().toString();
lname=et_lname.getText().toString();
email=et_email.getText().toString();
password=et_password.getText().toString();
IsValid();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
答案 0 :(得分:2)
您可以通过在菜单文件中使用组来实现此目的
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group
android:id="@+id/main_menu_group">
<item android:id="@+id/action_create"
android:title="Create"
android:icon="R.drawable.ic_action_create"
android:showAsAction="ifRoom"/>
</group>
</menu>
然后,
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.custom_actionbar, menu);
menu.setGroupVisible(R.id.main_menu_group,true);
}
}