2017-11-12 5 views
0

マイナスボタンを使用せずに近い警告ダイアログ、または何もしませんし、単に(btnDisconfirm1が押されたときに)ダウン閉じます。すべてがbtnDisconfirm1から離れて動作しています。どうすればダイアログを閉じることができますか?私は(<em>btnConfirm1</em>が押されている)の活動をリフレッシュするかAlertDialogを、作成した

明らかにAlertDialogには解除またはキャンセルメソッドがありませんが、ネガティブボタンを使用しないと別の方法がありますか?問題は、このダイアログのレイアウトファイルを作成して、xlmファイルに否定的なボタンを配置する方法がわかりません。

また、AlertDialog以外に全く別の方法を使用する必要がありますか?ありがとう!

btnClear = (Button) findViewById(R.id.btnClear); 
    btnClear.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      AlertDialog.Builder mBuilder2 = new AlertDialog.Builder(ScoreScreen.this); 

      View mView2 = getLayoutInflater().inflate(R.layout.dialog_confirm_delete, null); 

      Button btnConfirm1=(Button) mView2.findViewById(R.id.btnConfirm1); 
      Button btnDisconfirm1=(Button) mView2.findViewById(R.id.btnDisconfirm1); 

      btnConfirm1.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        player1.setPlayerScore(0); 
        player2.setPlayerScore(0); 
        player3.setPlayerScore(0); 
        player4.setPlayerScore(0); 

        Intent intent = getIntent(); 
        finish(); 
        startActivity(intent); 
       } 
      }); 

      btnDisconfirm1.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       //WHAT DO I PUT HERE??? 
       } 
      }); 
      mBuilder2.setView(mView2); 
      AlertDialog dialog = mBuilder2.create(); 
      dialog.show(); 
     } 
    }); 
+0

このコードスニペットは何らかの形で不完全です。実際に作成した行を追加して、AlertDialog – 0X0nosugar

+0

を表示してください、申し訳ありません、私はそれを追加しました! – Kubi

答えて

1

まず、AlertDialog mDialog = mBuilder2.create() でAlertDialogを作成する必要があります。

2番目に、OnClickListener内のダイアログを閉じることができます。 mDialog.dismiss();

0

あなたのUtilクラスにこのメソッドを入れることができます。コールバックを使用する

public interface OnDialogDismiss { 
    void onPositiveClick(); 

    void onNegativeClick(); 
} 

要件を変更してください。

public void showDialogForMultipleCallback(Context context, String title, String message, boolean cancellable, String neutralBbtn, String negativeBtn, String positiveBtn, final OnDialogDismiss onDialogDismiss) { 
    final AlertDialog.Builder builder1 = new AlertDialog.Builder(context); 
    builder1.setTitle(title); 
    builder1.setMessage(message); 
    builder1.setCancelable(cancellable); 
    if (neutralBbtn != null) { 
     builder1.setNeutralButton(neutralBbtn, new OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       if (alert11 != null) 
        alert11.dismiss(); 
      } 
     }); 
    } 
    if (negativeBtn != null) { 
     builder1.setNegativeButton(negativeBtn, 
       new OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         if (alert11 != null) 
        alert11.dismiss(); 
        } 
       }); 
    } 
    if (positiveBtn != null) { 
     builder1.setPositiveButton(positiveBtn, new OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       onDialogDismiss.onPositiveClick(); 
      } 
     }); 
    } 
    alert11 = builder1.create(); 
    alert11.show(); 
} 
関連する問題