菜单不起作用
问题描述:
使用Xoom平板电脑和屏幕底部的菜单(选项)按钮不亮(未激活)。菜单不起作用
有什么建议吗?
@Override
public boolean onCreateOptionsMenu (Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.option_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.about:
about();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void about() {
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("About");
alertDialog.setMessage("App v1.0");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// here you can add functions
}
});
alertDialog.setIcon(R.drawable.icon);
alertDialog.show();
}
答
我想通了..
我的目标和分SDK是:
android:targetSdkVersion="11"
android:minSdkVersion="11"
更改为:
android:targetSdkVersion="11"
android:minSdkVersion="10"
菜单按钮在11及以上时不起作用。
答
Android 3.0+系统栏上显示的菜单键是运行较旧应用程序的兼容性功能。设置targetSdkVersion =“10”表示您未开发针对Android 3.0+的应用,系统会相应地调整您的应用的兼容性行为。
如果您确实正在编写应用程序以在Android 3.0+平板电脑上运行,则系统栏上不会显示菜单键。忘掉它。把它放在你的脑海里。 :)以这种方式滥用兼容性功能会明确违反Android UI设计准则。如果存在,操作栏将显示您的活动的选项菜单。如果您的活动中没有操作栏,则应使用其他一些屏幕上的可供件来提供选项。
它们是否出现在ActionBar中? – kabuko
不,我的应用程序中没有ActionBar。 – user899641
只是一个无关的提示:如果你只想要“OK”按钮来处理对话,你不需要那个没有操作的'DialogInterface.OnClickListener' - 只需要写'alertDialog.setButton(“OK”,null) '。 'AlertDialog'在按下按钮后自动处理对话框。 –