DialogFragmentが破棄されたときに検出できる方法があります。そのため、親フラグメントを更新できますか?ダイアログフラグメントが破棄されたときにフラグメントをリフレッシュします
答えて
DialogFragmentのonDismiss()を上書きするか、または下にあるダイアログを構築するときに、リスナをsetOnDimissListener()に設定します。あなたがこれを使用することができます
http://developer.android.com/guide/topics/ui/dialogs.html
:これに対処するため
一つの方法は、活動中にあなたのDialogFragmentを埋め込むとダイアログとしての活動を表示することで、どのように説明して次のリンクにある先端がありますダイアログ(アクティビティ)が終了したときにonResume()が基底のフラグメントで呼び出されるため、基になるフラグメントを更新します。 onResume()メソッドでフラグメントの状態を更新するためのコードを追加してください。それもあります。
これは最適なアプローチだと思いますが、API 8+についてはどうですか? API 11に追加されました – Iree
私はちょうど私のプロジェクトでこれを解決しました。私が持っているのは、ListFragmentを持つアクティビティです。そのリストフラグメントでは、特定のアイテムがクリックされると、DatePickerFragment(DatePickerDialogを表示するカスタムDialogFragment)が表示されます。日付を選択すると、ListFragmentをリフレッシュする必要があります。
public void criteriaChanged()
{
getFragmentManager().beginTransaction()
.replace(R.id.container, new FilterFragment())
.commit();
}
:私は単に、新しいインスタンスでListFragmentを置き換えるので、などの方法を実装し
はListFragmentをホストしている活動で、これを達成するために(そしてそれはまた、実際の問題として、DatePickerFragmentをホストしています)
は私がonDateSet()から、DatePickerFragmentからこのメソッドを呼び出します。
FilterActivity fa = (FilterActivity) getActivity();
fa.criteriaChanged();
これは私のためのトリックを行います。
あなたはリスナーを追加し、フラグメント・ダイアログのonDismissを上書きすることができます。
public class DismissDialog extends DialogFragment {
private DialogInterface.OnDismissListener onDismissListener;
public void setOnDismissListener(DialogInterface.OnDismissListener onDismissListener) {
this.onDismissListener = onDismissListener;
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
if (onDismissListener != null) {
onDismissListener.onDismiss(dialog);
}
}
}
その後は、親には、リスナーを設定します。
DismissDialog d = new DismissDialog();
d.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
}
});
d.show(getSupportFragmentManager(), "sometag");
これは正解です – FireZenk
私は@Gazerの答えを試みたが、それ私のためには機能しません、私は別の断片クラスを使用しています
import android.app.Fragment;
しかし、私はこの作業を得ました
-
public class ActionBarFragment extends Fragment implements MyDialogListener{ @Override public void OnCloseDialog(Object obj) { //Do you refresh }
親フラグメントにインタフェースクラスを実装し、その後、私はDialogFragment
public class SpecialDialogFragment extends DialogFragment { MyDialogListener mListener; public SpecialDialogFragment(MyDialogListener listener) { this.mListener = listener; } @Override public void onStop() { super.onStop(); if(mListener!=null) mListener.OnCloseDialog(null); }
内のリスナーを追加
インターフェース・クラスを作成します。
public interface MyDialogListener {
void OnCloseDialog(Object obj); //you can put any object here
}
- 1. フラグメントが破棄されたときにバックグラウンドスレッドを終了する
- 2. java.lang.IllegalStateException:(アクティビティが破棄された)フラグメント内
- 3. タグが付いたフラグメントを追加すると、親が破棄されても破棄されませんか?
- 4. フラグメントを追加するとアクティビティが破棄されます
- 5. リフレッシュ時にセッションを破棄します。
- 6. Fiori Launchpadから戻るとフラグメントが破棄されますか?
- 7. org.eclipse.swt.SWTException:AndroidManifest.xmlを開くときに「ウィジェットが破棄されました」
- 8. フラグメントアクティビティがフラグメントから新しいアクティビティを入力して戻ったときに破棄されます。
- 9. DbContextが破棄されました
- 10. org.eclipse.gemini.blueprint.service.importer.ServiceProxyDestroyedException:サービスプロキシが破棄されました
- 11. ライターが破棄されたときにストリームが破棄されるのはなぜですか?
- 12. MongoError:トポロジが破棄されました(ドキュメントを見つけるとき)、インスタンスプールが破棄されました(ドキュメントを挿入するとき)
- 13. スレッドが破棄されると、変数は破棄されますか?
- 14. ディレクティブが破棄されたときにリスナーが削除されますか?
- 15. 方向変更後にダイアログフラグメントを破棄するVolley resopnseハンドラ
- 16. PHPセッションが破棄されたときに何かする
- 17. QT QML:アイテムが破棄されたときにメモリが減少しません。
- 18. フラグメントが破棄された後のフラグメントオブジェクト。 GCがそれらを収集するとき?
- 19. Entity Framework Context 6.1.3がリフレッシュ/破棄されない?
- 20. アクティビティが破棄されたときのViewPagerとFragmentStatePagerAdapterの問題
- 21. Androidのダイアログのフラグメントが破棄されない
- 22. 進行状況ダイアログがフラグメント内で破棄されない
- 23. C++クラスでベクトルを宣言すると、それが破棄され、クラスのinstateが破棄されますか?
- 24. アクティビティが破棄されたときにフラグメントリスナは機能しません
- 25. Swift、CoreData:ChildVCが破棄されたときにTableViewがデータをリロードしない
- 26. angular2破壊されたサブスクリプションの破棄
- 27. QThread:スレッドがまだ実行中に破棄されました
- 28. JMS、一時キューが破棄されたときの検出
- 29. Windows Phone 7.5 - アプリが破棄されたときのプッシュ通知
- 30. アクティビティが破棄されたときのインタフェースコールバックの登録解除
これは、 'DialogFragment'にそれが却下されたことを通知しますが、質問に出された親フラグメントではありません。 – howettl
親はこれらのメソッドを使用してコールバックを取得し、コールバックが解除されたときに応答することができます。使用法については、この回答を参照してください。http:// stackoverflow。com/a/29518363/445348 – cottonBallPaws