5

誰でも助けてくれます...起動時にアラートダイアログでデフォルトのラジオボタンをチェックする方法を設定するには..?

これは私のコード、例:起動時にアイテムが「15」のラジオボタンを設定したい

public void showDialog()
{
    final CharSequence[] items = {"5", "10", "15","20"};

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

    alertDialogBuilder.setTitle("Set limit article");

    alertDialogBuilder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(SettingAppDisplay.this, "You selected item No." + item + ": " + items[item], Toast.LENGTH_SHORT).show();

                if (items[item].equals("5")) {
                    //do what you want
                }
                else if (items[item].equals("10")) {
                    //do what you want                                  
                }
                else if (items[item].equals("15")) {
                    //do what you want
                }
                else if (items[item].equals("20")) {
                    //do what you want
                }

                dialog.dismiss();
            }   
    });
    alertDialogBuilder.show();

}

あなたの参加に感謝..私の英語で申し訳ありません:)

4

3 に答える 3

6

2 番目の引数 (checkedItem) をsetSingleChoiceItems-1 からチェックしたいラジオ ボタンの位置に変更します。ここでは、最初のラジオ ボタンがチェックされるように「1」に変更しました。

 alertDialogBuilder.setSingleChoiceItems(items, 1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(SettingAppDisplay.this, "You selected item No." + item + ": " + items[item], Toast.LENGTH_SHORT).show();

                if (items[item].equals("5")) {
                    //do what you want
                }
                else if (items[item].equals("10")) {
                    //do what you want                                  
                }
                else if (items[item].equals("15")) {
                    //do what you want
                }
                else if (items[item].equals("20")) {
                    //do what you want
                }

                dialog.dismiss();
            }   
    });

ドキュメントを見る

setSingleChoiceItems (Cursor cursor, int checkedItem, String labelColumn, 
DialogInterface.OnClickListener listener)

パラメーター

アイテムを取得するカーソル

checkedItem は、チェックする項目を指定します。-1 の場合、項目はチェックされません。

labelColumn ラベルに表示する文字列を含むカーソル上の列名。

リスト上のアイテムがクリックされたときに通知されるリスナー。項目をクリックしても、ダイアログは閉じられません。ボタンがクリックされた場合にのみ閉じられます。ボタンが指定されていない場合、ダイアログを閉じるのはユーザー次第です。

于 2013-05-30T12:48:05.633 に答える
0

以下を確認してくださいandroid.app.AlertDialog.Builder.setSingleChoiceItems(CharSequence[] items, int checkedItem, OnClickListener listener) アイテムの位置の整数値を 2 番目のパラメーターの checkedItem として指定します。

15番目の項目としてデフォルト値を作成するには、次のようにします

alertDialogBuilder.setSingleChoiceItems(items, 14, new DialogInterface.OnClickListener()
于 2013-05-30T12:46:44.410 に答える
0

デフォルトのチェック項目は、中間の引数によって設定されますsetSingleChoiceItems

alertDialogBuilder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {

あなたのコードでは、デフォルトでアイテムが選択されないことを意味する -1 に設定されています。選択したい配列内の値に値を変更するだけです。最初の項目は 0 から始めて、選択したい項目まで数えることを忘れないでください。

于 2013-05-30T12:48:19.443 に答える