29

Android プロジェクトでこのコードを使用します。

alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        }
    });

しかし、EclipseはそれsetButton()が非推奨であると言います。別の解決策を教えてください。ありがとう!

4

8 に答える 8

67
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        builder.setTitle("ALERTTILESTRING")
        .setMessage("alertNameString")
        .setCancelable(false)
        .setNegativeButton("Close",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.cancel();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();
    }

上記のコードがダイアログが非常にうまく機能する良いコードであることを願っています

于 2012-11-07T11:02:31.710 に答える
34

setButton() は廃止されたものではありませんが、その関数と引数の組み合わせです。setButton() はまだありますが、setButton() の最初の引数としてボタンの ID を指定する必要があります。

alertDialog.setButton(0, "OK", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
      <do something>;
    }
});

これは、すべてのボタンに同じ OnClickListener を与えたい場合に便利です:

class alertDialogOnClickListener implements DialogInterface.OnClickListener {
    public void onClick(DialogInterface dialog, int which) {
        switch(which){
            case 1:
                <do something>;
                break;
            case 2:
                <do something>;
                break;
        }
    }
}
alertDialog.setButton(1, "OK", new alertDialogOnClickListener());
alertDialog.setButton(2, "Cancel", new alertDialogOnClickListener());
于 2013-06-14T04:22:19.707 に答える
13

使用する:setButton(int whichButton, CharSequence text, DialogInterface.OnClickListener listener);

次のwhichButtonいずれかを使用します。

DialogInterface.BUTTON_POSITIVE 
DialogInterface.BUTTON_NEGATIVE
DialogInterface.BUTTON_NEUTRAL 
于 2013-09-30T18:02:27.183 に答える
7
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("Alert");
            builder.setIcon(R.drawable.ic_launcher);
            builder.setMessage("Attention");
            builder.setPositiveButton("Get Location",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();

                        }
                    });

            builder.setNeutralButton("Set Location",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {



                        }
                    });

            builder.setNegativeButton("Exit",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();

                        }
                    });
            builder.show();
于 2013-02-18T11:51:15.820 に答える
1

これは私の短くて甘いもので、Android Developer の最適化です。より簡潔で、メモリ使用量が少なくなります。

    (new AlertDialog.Builder(/*activity*/))
    .setTitle("ALERTTILESTRING")
    .setMessage("alertNameString")
    .setCancelable(false)
    .setNegativeButton("Close",new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            dialog.cancel();
        }
    })
    /*insert other Alert Dialog Builder methods here*/
    .show();
于 2014-05-31T17:17:41.700 に答える
1

これを使用して、正または負のボタンを設定します

setButton(int whichButton, CharSequence テキスト, DialogInterface.OnClickListener リスナー);

これを参照してください http://developer.android.com/reference/android/app/AlertDialog.html#setButton(int , java.lang.CharSequence, android.content.DialogInterface.OnClickListener)

于 2012-11-07T11:00:55.873 に答える
0

alertDialogで3種類のボタンを設定できます

.setPositiveButton("name_of_button",LISTENER);

.setNegativeButton("name_of_button",LISTENER);

.setNeutralButton("name_of_button",LISTENER);

リスナーは、クラス外または匿名クラスのようになります

.setNegativeButton("Cancel",new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            alertDialog.cancel();
        }
    });
于 2012-11-07T11:08:32.337 に答える
0

ここに Tony Stark による良い投稿があります。アイコンを追加してダイアログを美しくすることができます.. drawable フォルダに画像があることを確認してください。

 builder.setTitle("Message Sent!").setCancelable(false).setNegativeButton("Close",new DialogInterface.OnClickListener() 
                            {public void onClick(DialogInterface dialog, int id) {dialog.cancel();}});
                            AlertDialog alert = builder.create();
                            alert.setIcon(R.drawable.send);//call your image for your icon here
                            alert.show();

ここに画像の説明を入力

于 2013-11-04T03:42:38.273 に答える