1

[OK] ボタンと [キャンセル] ボタンを含む警告ダイアログを表示したいのですが、キャンセルしか表示されません。キャンセルボタンをコメントアウトすると、OKボタンが表示されます。変。とにかく、ここにコードがあります:

final AlertDialog ukucajIme = new AlertDialog.Builder(Kviz.this).create();
            ukucajIme.setTitle("Insert your name");
            final EditText input = new EditText(Kviz.this);

            ukucajIme.setView(input);

            ukucajIme.setButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                  Editable ukucanoIme = input.getText();
                  finish();
                  }
                });
            ukucajIme.setButton("Cancel", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int whichButton) {
                     ukucajIme.dismiss();
                     finish();
                  }
                  });
            ukucajIme.show();

質問 2: ukucajIme.setPositiveButton のようなものを使用しようとすると、エラーが発生し、setButton に変更するように指示されます。何故ですか?

4

4 に答える 4

5

このように AlertDialogBu​​ilder でメソッドsetPositiveButton()を使用してみてくださいsetNegativeButton()

AlertDialog.Builder builder = new AlertDialog.Builder(Kviz.this);

builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
    Editable ukucanoIme = input.getText();
    finish();
});


builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
         dialog.dismiss();
         finish();
         dialog.cancel();
    }
});

AlertDialog dialog = builder.create();
于 2013-03-07T18:29:37.673 に答える
1

このように使用します。

2 つのボタンでアラート ダイアログを作成します。setPositiveButton()警告ダイアログで肯定的なボタンを作成するために使用され、警告ダイアログへのsetNegativeButton()否定的なボタンを呼び出すために使用されます。

AlertDialog.Builder alertDialog = new AlertDialog.Builder(Kviz.this);
ukucajIme.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
       Editable ukucanoIme = input.getText();
       finish();
    }
});

// Setting Negative "Cancel" Button
ukucajIme.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        finish();
        dialog.cancel();
    }
});

ukucajIme.show();  // Showing Alert Message
于 2013-03-07T18:29:58.570 に答える
1

アラート ダイアログには、setNegativeButton または setPositiveButton は含まれません。代わりに次を使用します。

ukucajIme.setButton(AlertDialog.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
    Editable ukucanoIme = input.getText();
    finish();
});


ukucajIme.setButton(AlertDialog.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
     ukucajIme.dismiss();
     finish();
});
于 2013-03-07T18:33:16.197 に答える
0

OK、これが完全なコードです。いくつかの変数を変更しました。

AlertDialog.Builder builder = new AlertDialog.Builder(Kviz.this);
                     builder.setTitle("Ukucaj svoje ime");
                     final EditText input = new EditText(Kviz.this);
                     builder.setView(input);

                     builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                     public void onClick(DialogInterface dialog,int which) {
                         Editable ukucanoIme = input.getText();
                         finish();
                     }
                     });


                     builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                         public void onClick(DialogInterface dialog, int which) {
                              dialog.dismiss();
                              finish();
                         }
                     });
                     builder.show();
                     AlertDialog dialog = builder.create();
于 2013-03-07T20:09:34.263 に答える