在DialogFragment的onStop(完全不可见)时调用dismiss退出界面报错解决办法

在DialogFragment的onStop(完全不可见)时调用dismiss退出界面报错解决办法

    override fun onStop() {
   
        super.onStop()
//        dismiss() // error
        dismissAllowingStateLoss() //ok
    }

报错日志

    java.lang.RuntimeException: Unable to stop activity {
   com.xxx.yyy/com.xxx.yyy.MainActivity}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
        at android.app.ActivityThread.callActivityOnStop(ActivityThread.java:4182)
        at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:4152)
        at android.app.ActivityThread.handleStopActivity(ActivityThread.java:4227)
        at android.app.servertransaction.StopActivityItem.execute(StopActivityItem.java:41)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
        at android.app.ActivityThread$H.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DialogFragmentAndroid 开发中的一个类,用于创建对话框样式的界面。对于登录界面,可以使用 DialogFragment 来实现一个弹出式的登录对话框。 首先,在登录界面的代码中,创建一个继承自 DialogFragment 的类,并在其中实现 onCreateView 方法,用于加载布局文件。这个布局文件可以包含用户名和密码的输入框、登录按钮等控件。 接下来,在调用登录界面的代码中,创建这个 DialogFragment 的实例,并调用 show 方法显示出来。可以使用一个弹出式的窗口或者嵌入到当前界面的片段中。 当用户点击登录按钮,可以在 DialogFragment 中处理登录逻辑。验证输入的用户名和密码是否正确,根据结果决定是否允许登录。在验证过程中,可以通过 Toast 提示用户登录成功或者登录失败的信息。 登录成功后,可以通过回调函数或者广播方式将登录结果传递给调用登录界面的代码,从而进行后续操作,例如更新用户界面、跳转到其他界面等。 在 DialogFragment 中,还可以提供一些额外的功能,例如密码可见性切换、忘记密码链接等。这些功能可以增强登录界面的用户体验。 总之,使用 DialogFragment 可以方便地实现一个弹出式的登录界面,使用户可以在一个对话框中完成登录操作。同,使用 DialogFragment 还可以提供一些额外的功能,增强登录界面的交互性和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值