我是android的新手,当我按下按钮时,我正在做一个改变背景颜色的应用程序。我已经这样做但现在我想添加一个菜单项,它将启动带或不带按钮的模式。
我试图这样做,但我不知道我是否做得好。
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item){
switch(item.getItemId()) {
case R.id.action_settings:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Hidden").
setPositiveButton("OK", null).
create().
show();
return true;
default:
return super.onMenuItemSelected(featureId, item);
}
}
和XML
<menu>
<item
android:id="@+id/action_settings"
android:orderInCategory="1"
android:showAsAction="never"
android:title="Hidden"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="2"
android:showAsAction="never"
android:title="Visible"/>
<item
android:id="@+id/action_exit"
android:orderInCategory="3"
android:showAsAction="never"
android:title="Cancel"/>
</menu>
答案 0 :(得分:2)
首先编辑菜单项ID:从android:id="@+id/action_settings"
到android:id="@+id/action_hidden"
;
从android:id="@+id/action_settings"
到android:id="@+id/action_visible"
;
从android:id="@+id/action_exit"
到android:id="@+id/action_cancel"
;
XML文件:
<menu>
<item
android:id="@+id/action_hidden"
android:title="Hidden"/>
<item
android:id="@+id/action_visible"
android:title="Visible"/>
<item
android:id="@+id/action_cancel"
android:title="Cancel"/>
</menu>
然后使用:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater menuInflater = getMenuInflater();
getMenuInflater().inflate(R.menu.YOUR_ACTIVITY!!!!, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.action_hidden:
//code for action_hidden
return true;
case R.id.action_visible:
//code for action_visible
return true;
case R.id.menu_cancel:
//code for menu_cancel
return true;
default:
return super.onOptionsItemSelected(item);
}
}