0

ダイアログを作成するためのこのコードがあります:

Dialog d = new Dialog(this);
d.setTitle("AA");
TextView tv=new TextView(this);
tv.setText("BB");
d.setContentView(tv);
d.show();

このダイアログに 2 つのボタンを追加し、ボタン プレス イベントをキャッチする方法を探していますか?

ありがとう

4

1 に答える 1

2

コンストラクターAlertDialog.Builderの代わりに使用します:Dialog

AlertDilog ad = new AlertDialog.Builder(this).create();
ad.setTitle(R.string.app_name);
ad.setMessage(this.getString(R.string.dialog_message);
ad.setCancelable(true);

ad.setButton(AlertDialog.BUTTON1, this.getString(R.string.first_btn_label), new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        //Do something when the first button is pressed
        dismissDialog(DIALOG_SOLVED);
    }
}); 

ad.setButton(AlertDialog.BUTTON2, this.getString(R.string.second_btn_label), new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        //Do something when the second button is pressed
        dismissDialog(DIALOG_SOLVED);
    }
}); 

//You can even add a third button if you want to
/*
ad.setButton(AlertDialog.BUTTON3, this.getString(R.string.third_btn_label), new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int id) {
        //Do something when the third button is pressed
        dismissDialog(DIALOG_SOLVED);
    }
}); 
*/

ad.show();
于 2012-04-23T14:58:18.077 に答える