android dialog 传参数,android - Android Dialog片段show()方法的TAG参数中要传递的内容 - 堆栈内存溢出...

希望你一切顺利。

我创建了一个对话框片段,并在实例上调用了show()。 我将自定义标签传递给show()的参数。 该片段不需要其他参数。 更改配置后,重新调整应用程序窗口的大小,应用程序将崩溃。

Caused by: android.view.InflateException: Binary XML file line #35 in com.signal.android.stage:layout/activity_main2: Binary XML file line #35 in com.signal.android.stage:layout/activity_main2: Error inflating class fragment

Caused by: android.view.InflateException: Binary XML file line #35 in com.signal.android.stage:layout/activity_main2: Error inflating class fragment

Caused by: java.lang.IllegalStateException: DialogFragment 0 doesn't exist in the FragmentManager

at androidx.navigation.fragment.DialogFragmentNavigator.onRestoreState(DialogFragmentNavigator.java:148)

这是DialogFragmentNavigator.java中的方法:

@Override

public void onRestoreState(@Nullable Bundle savedState) {

if (savedState != null) {

mDialogCount = savedState.getInt(KEY_DIALOG_COUNT, 0);

for (int index = 0; index < mDialogCount; index++) {

DialogFragment fragment = (DialogFragment) mFragmentManager

.findFragmentByTag(DIALOG_TAG + index);

if (fragment != null) {

fragment.getLifecycle().addObserver(mObserver);

} else {

throw new IllegalStateException("DialogFragment " + index

+ " doesn't exist in the FragmentManager");

}

}

}

}

请注意,已使用的DIALOG_TAG已被硬编码为“ androidx-nav-fragment:navigator:dialog:”。 因此,自从我提供了自定义TAG以来,找不到Fragment是有道理的。

客户端调用show()方法的期望形式是什么? 应该传递什么标签来优雅地还原该片段?

注意安全!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值