DialogFragmentの終了を処理する必要があります(たとえば、.dismissを呼び出した後)。たとえば、閉じた後にフラグメントを「含む」アクティビティ内にトーストを表示します。DialogFragment Closeイベント
イベントを処理するにはどうすればよいですか?
DialogFragmentの終了を処理する必要があります(たとえば、.dismissを呼び出した後)。たとえば、閉じた後にフラグメントを「含む」アクティビティ内にトーストを表示します。DialogFragment Closeイベント
イベントを処理するにはどうすればよいですか?
DialogFragmentにonDismiss()
を上書きするか、フラグメントを構築するコードブロックにsetOnDismissListener()
を使用してください。
参照はonDismissを上書きするように指示しました。今私は別のトラブルがあります。どのように私はトーストを作成するためにメインビューのコンテキストを取得することができますか? – giozh
コンテキストを取得する方法を尋ねる別の質問を作成すると、誰もが役に立ちます。すでにこの質問にも答えている他の回答があります。 onDismiss(..)内の –
私は同様の問題に直面しましたが、ダイアログを作成して表示したアクティビティではなく、ダイアログの終了に関する別のアクティビティを通知したかったのです。
Austynマホーニーが示唆したようにあなたは自分のDialogFragmentでonDismiss()
メソッドをオーバーライドすることができ、まだDialogFragmentは、単に(による:Android Developers DialogFragment Reference)このような方法を提供していないので、あなたがはは、setOnDismissListener()
を使用することはできませんが。
しかし、まだ(私はそこにそれを見つけた:DialogFragment and onDismiss)、を却下ダイアログについて他のアクティビティを知らせるために別の良い方法があり、ここではそれが来る:
まず、あなたがあなたの活動をしなければなりません(あなたは却下ダイアログに関する情報を渡したい1)はOnDismissListener
を実装:
public final class YourActivity extends Activity implements DialogInterface.OnDismissListener {
@Override
public void onDismiss(final DialogInterface dialog) {
//Fragment dialog had been dismissed
}
}
再びAndroid Developers DialogFragment Reference DialogFragmentに応じて、既にonDismiss()
方法でOnDismissListener
を実装します。あなたはそれをオーバーライドして、そこにあなたがYourActivityで実装あなたのonDismiss()
メソッドを呼び出す必要が理由です:
public final class DialogFragmentImage extends DialogFragment {
@Override
public void onDismiss(final DialogInterface dialog) {
super.onDismiss(dialog);
final Activity activity = getActivity();
if (activity instanceof DialogInterface.OnDismissListener) {
((DialogInterface.OnDismissListener) activity).onDismiss(dialog);
}
}
}
あなたがダイアログを閉じたい
img_popup_timer_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "Cancel", Toast.LENGTH_SHORT).show();
**getDialog().cancel();**
}
});
のようなボタンのイベントを与え、その後、表示することができますそれが解雇されたときにトーストで? –
はい、それは私がしたいことです – giozh