【问题标题】:How to set an "on outside click" action on a DialogFragment?如何在 DialogFragment 上设置“外部点击”操作?
【发布时间】:2015-03-22 15:57:52
【问题描述】:

我想在外面触摸我的对话框片段之前执行一个代码。有没有简单的方法来实现这一点?

我试图覆盖“onDismiss”方法,但在写入日志之前 DialogFragment 已关闭。

@Override
public void onDismiss(DialogInterface dialog) {
    Log.d(Constants.TAG,"Dialog will be dismissed");
    super.onDismiss(dialog);
}

【问题讨论】:

  • onDismiss 监听器?
  • 我已经尝试过了,但是我在 logcat 上收到了这条消息:java.lang.IllegalStateException: "You can not set Dialog's OnCancelListener or OnDismissListener"
  • 确实如此。您始终可以在 DialogFragment 的子类中覆盖 onDismiss

标签: android dialogfragment


【解决方案1】:

重写Dialog类的setOnDismissListener(...)方法

【讨论】:

  • 我已经尝试过了,但是我在 logcat 上收到了这条消息:java.lang.IllegalStateException: "You can not set Dialog's OnCancelListener or OnDismissListener"
  • 覆盖 onDismiss 或 onCancel,因为自定义对话框不应覆盖 setoOnDismissListener
  • 是的,它是定制的。不知道会有所作为。无论如何,我的问题一直没有解决,因为对话框总是在执行我想要的代码之前关闭。
  • 可以分享一下sn-p吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多