我有一个通过单击菜单按钮调用的选项菜单,但我想要一个在应用程序启动时调用的选项菜单。 这是一个LANGUAGE CHOICE设置。
我搜索了很多,但我只找到了如何让它显示onCreateOptionsMenu(Menu menu)
答案 0 :(得分:1)
我确信您正在寻找如何以程序化方式打开菜单,
以下链接有一个很好的例子,
http://kahdev.wordpress.com/2010/03/15/progamatically-open-and-close-an-activitys-option-menu/
您可以通过对该示例教程稍作修改来完成任务。
修改强>
对于自定义菜单,您需要使用xml或java创建自己的菜单。但XML是首选。
来自developer site 的示例菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/new_game"
android:icon="@drawable/ic_new_game"
android:title="@string/new_game"
android:showAsAction="ifRoom"/>
<item android:id="@+id/help"
android:icon="@drawable/ic_help"
android:title="@string/help" />
</menu>
然后你需要按顺序膨胀菜单资源以在活动中使用
的示例@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.game_menu, menu);
return true;
}
修改强>
然后,您可以使用setSingleChoiceItems();
developer网站为每种对话框类型提供了足够的示例。
例如警告对话框
final CharSequence[] items = {"Red", "Green", "Blue"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
// This is the place where you need to execute the logic
}
});
AlertDialog alert = builder.create();
但是你需要调用alert.show();
来显示对话框,例如你可以在onResume()
方法中调用
答案 1 :(得分:0)
OnCreate总是运行你的Activity创建,如果你创建一个AlertDialog并且此时调用show(),它只会在你的activty完成它的初始化之后显示(在onResume()之后),在它之前,屏幕上什么都没有
请你解释一下你的意思是什么?