android - 显示对话框片段抛出“onSaveInstanceState 后无法执行此操作”异常
问题描述
有时,在某些设备上,由于上述非法状态异常,对话框片段会导致活动崩溃
我试过 showow() 仅在某些设备上有所帮助,但问题仍然存在。
val dialog = CustomDialogFragment.newInstance(false, correctAnswer, true)
dialog.show(supportFragmentManager, "alert")
我需要对话框实例以供将来使用,否则我会在 newInstance() 之后立即使用 show。可能的解决方案是什么?
解决方案
当我发现问题是由 Android 问题引起的时,我有以下解决方法:只需覆盖对话框片段的 show() 方法,如下所示:
@Override
public void show(@NonNull FragmentManager manager, @Nullable String tag) {
FragmentTransaction ft = manager.beginTransaction();
ft.add(this, tag);
ft.commitAllowingStateLoss();
}
推荐阅读
- android - 多个资源文件夹同步问题。#安卓
- rust - 当所有权从盒子中转移出来时,内存中会发生什么?
- android - 访问它们嵌入的活动视图的测试片段
- python - python入口小部件和get方法
- c++ - 无法推断模板类成员的类型
- python - python抽象类触发语法错误
- python - python问题与列表的熊猫数据框
- java - Apache Kafka - 实现 KTable
- google-cloud-platform - 如何防止 Google Cloud Pub/Sub 推送订阅发送旧令牌
- c++ - 加倍到 QString 并保存在 QJsonDocument