我的项目中有一个Activity。我创建了一个包含3个项目的选项菜单。 我不知道为什么,但它对我不起作用。每当我选择一个项目时,我都会得到项目ID 0。
RES /菜单/ m1.xml:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("1");
menu.add("2");
menu.add("3");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.ITEM01: Toast.makeText(this, "1",Toast.LENGTH_SHORT);
break;
case R.id.ITEM02: Toast.makeText(this, "2",Toast.LENGTH_SHORT);
break;
case R.id.ITEM03: Toast.makeText(this, "3",Toast.LENGTH_SHORT);
break;
default: Toast.makeText(this, "-----",Toast.LENGTH_SHORT);
}
Log.v("DEMO", "Item ID: "+item.getItemId());
return super.onOptionsItemSelected(item);
}
}
活动:
$('#dummy-notification').text(data.Result).fadeIn("slow").delay(3000).fadeOut("slow", function () {
setTimeout(function () {
location.reload();
}, 5000);
});
当我选择一个项目时,我在日志中始终为0。为什么呢?
答案 0 :(得分:0)
使用以下代码
替换onCreateOptionsMenu()方法@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.m1, menu);
return true;
}
答案 1 :(得分:0)
用此代码替换您的代码
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.m1, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case R.id.ITEM01: Toast.makeText(this, "1",Toast.LENGTH_SHORT);
break;
case R.id.ITEM02: Toast.makeText(this, "2",Toast.LENGTH_SHORT);
break;
case R.id.ITEM03: Toast.makeText(this, "3",Toast.LENGTH_SHORT);
break;
default: Toast.makeText(this, "-----",Toast.LENGTH_SHORT);
}
Log.v("DEMO", "Item ID: "+item.getItemId());
return super.onOptionsItemSelected(item);
}
答案 2 :(得分:0)
您需要将菜单扩展到视图
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
doo this