gio*_*ozh 11 android android-dialogfragment
我需要处理DialogFragment的结束(在调用.dismiss之后) - 例如,我会在关闭后"包含"片段的活动中显示一个toast.
我该如何处理这个事件?
Krz*_*iek 13
我遇到了类似的问题,但我想通知另一个关于对话关闭的活动(不是创建和显示对话框的活动).
虽然您可以onDismiss()像Austyn Mahoney建议的那样覆盖DialogFragment中的方法,但是您不能使用setOnDismissListener(),因为DialogFragment根本不提供这样的方法(根据:Android Developers DialogFragment Reference).
但仍然有另一个很好的方式告知任何其他活动关于对话解雇,(我在那里找到它:DialogFragment和onDismiss),它来了:
首先,您应该使您的活动(您希望传递关于对话关闭的信息的那个)实现OnDismissListener:
public final class YourActivity extends Activity implements DialogInterface.OnDismissListener {
@Override
public void onDismiss(final DialogInterface dialog) {
//Fragment dialog had been dismissed
}
}
Run Code Online (Sandbox Code Playgroud)
再次根据Android开发者DialogFragment参考 DialogFragment已经实现OnDismissListener了onDismiss()方法.这就是为什么你应该覆盖它并调用onDismiss()你在YourActivity中实现的方法:
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13387 次 |
| 最近记录: |