android - IllegalStateException: Fragment DetailFragment 没有从 onCreateView() 返回视图,或者在 onCreateView() 之前调用了该视图
问题描述
我遇到了一个奇怪的错误:
java.lang.IllegalStateException: Fragment DetailFragment{478548c} (790a9d4b-aae5-425a-a41d-2ab5785e5479) id=0x7f0b1c79 DetailFragment} did not return a View from onCreateView() or this was called before onCreateView().
at androidx.fragment.app.Fragment.requireView(SourceFile:1781)
at androidx.fragment.app.FragmentTransition.captureOutSharedElements(SourceFile:846)
at androidx.fragment.app.FragmentTransition.configureSharedElementsOrdered(SourceFile:758)
at androidx.fragment.app.FragmentTransition.configureTransitionsOrdered(SourceFile:378)
at androidx.fragment.app.FragmentTransition.startTransitions(SourceFile:155)
at androidx.fragment.app.FragmentManager.executeOpsTogether(SourceFile:2001)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(SourceFile:1959)
at androidx.fragment.app.FragmentManager.execPendingActions(SourceFile:1861)
at androidx.fragment.app.FragmentManager$4.run(SourceFile:413)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
到目前为止,该错误仅在不同设备上发生了 3 次。与应用程序的使用相比,它真的很少。我无法重现它。根据我们的跟踪,它发生在用户按下此 Fragment 时。此片段不会覆盖,onBackPressed()
但父级会覆盖它,并且没有什么可以帮助我识别问题:
public boolean onBackPressed() {
return false;
}
所以我不知道在哪里搜索错误。
编辑:这个片段也不会覆盖onCreateView()
,它会做父母:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
dataBinding = inflateBinding(inflater, container);
initViews();
if (firstStart) {
onFirstCreateView();
} else {
onReCreateView(savedInstanceState);
}
firstStart = false;
return dataBinding.getRoot();
}
解决方案
推荐阅读
- node.js - 安装 Angular 材料导致近 600 个漏洞审计结果
- python - 如何使用 python 3 拆分列表?
- c++ - 为字符串中的每个字符(不是字符位置!)分配唯一索引
- batch-file - 从批处理文件创建批处理文件(包括 / )
- objective-c - Cordova - 使用 ASWebAuthenticationSession 实现隐私屏幕功能
- path - Clangd 在 CLion 中找不到标准库
- apache-drill - Apache Drill 过滤器下推案例
- excel - 如何从特定范围中删除重复项,但在右侧及下方保留其他数据?
- c# - 单例服务属性未更新.net core 2 razor pages
- python - 将 matplotlib 颜色图转换为 seaborn 调色板