メニューボタンをクリックして呼び出されるオプションメニューがありますが、アプリの起動時にすぐに呼び出されるオプションメニューが必要です。それは言語選択の設定です。
たくさん検索しましたが、どうやって表示させるかしかわかりませんonCreateOptionsMenu(Menu menu)
プログラムでメニューを開く方法をお探しだと思いますが、
次のリンクにはかなり良い例があります。
http://kahdev.wordpress.com/2010/03/15/progamatically-open-and-close-an-activitys-option-menu/
そのサンプルチュートリアルを少し変更することで、タスクを実行できます。
編集
カスタムメニューの場合は、xmlまたはjavaを使用して独自のメニューを作成する必要があります。ただし、XMLが推奨されます。
開発者サイトのメニュー例
<?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();
開発者サイトには、ダイアログタイプごとに十分な例があります。
たとえば、アラートダイアログ
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()
メソッド内で呼び出すことができます。
OnCreateは常にアクティビティが作成されていることを実行します。この時点でAlertDialogを作成してshow()を呼び出すと、アクティビティが初期化を完了した後(onResume()の後)にのみ表示され、その前は画面に何も表示されません。
あなたは何が起こると期待しているのか説明していただけますか?