0

メニューボタンをクリックして呼び出されるオプションメニューがありますが、アプリの起動時にすぐに呼び出されるオプションメニューが必要です。それは言語選択の設定です。

たくさん検索しましたが、どうやって表示させるかしかわかりませんonCreateOptionsMenu(Menu menu)

4

2 に答える 2

1

プログラムでメニューを開く方法をお探しだと思いますが、

次のリンクにはかなり良い例があります。

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()メソッド内で呼び出すことができます。

于 2012-08-09T15:28:17.857 に答える
0

OnCreateは常にアクティビティが作成されていることを実行します。この時点でAlertDialogを作成してshow()を呼び出すと、アクティビティが初期化を完了した後(onResume()の後)にのみ表示され、その前は画面に何も表示されません。

あなたは何が起こると期待しているのか説明していただけますか?

于 2012-08-09T13:41:33.587 に答える