2017-09-15 17 views
0

のボタンからAlertDialogを閉じます。ユーザーがカスタムボタンの1つをクリックしたときにダイアログを閉じることができないことを除いて、すべてがうまくいきます。だから、彼らは別のページに移動し、戻って、ダイアログはまだそこにあります。は、私はutilの機能を備えたダイアログのクラスを持つカスタムビュー

ダイアログが作成される前に作成しているカスタムclickListenersのダイアログへの参照を取得するにはどうすればよいですか?

考えられるすべてのオプションを試しました。私の最近の試みは、カスタムのDialogFragmentをカスタム・インターフェースで作成することですが、その場合でもAlertDialog Builderがダイアログを作成する前にビュー(したがってボタンとそのリスナー)が作成されます。

私はこのように感じるが、超簡単なものでなければならないと私は何か...

答えて

2

を欠けているあなたは、あなたのカスタムボタンをonClickリスナーを設定する必要があります。

これを試してみてください。それ

AlertDialog.Builder builder = new AlertDialog.Builder(contextRef); 

    builder.setView(dialogContentView); 

    Button btnOk= (Button) dialogContentView.findViewById(R.id.btn_ok); 

    builder.setNegativeButton(contextRef.getString(R.string.std_cancel), null); 

    AlertDialog dialog = builder.create(); 

    dialog.show(); 

    btnOk.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      dialog.dismiss(); 
     } 
    }); 

だそれ!

+0

である。私はダイアログを作成する前にリスナーを設定していました。ありがとう! – MayNotBe

0

簡単です。このメソッドを呼び出す場所でダイアログリファレンスを返します。ダイアログ参照が有効なオブジェクトを保持している場合は、却下ボタンリスナをチェックインします。はいの場合は、このダイアログを閉じます。

関連する問題