Zackratos / UltimateBarX

Make Android transparent statusbar and navigationbar easy.
Apache License 2.0
1.56k stars 166 forks source link

java.lang.IllegalStateException #45

Closed ericwangjp closed 2 years ago

ericwangjp commented 3 years ago

crash了,fragment一般都是在onCreateView()中设置的,Google官方建议的初始化方法也是onCreate()或者onCreateView(),这个库只能在onCreateView()之后在fragment中使用?

java.lang.IllegalStateException: Fragment HomeFragment{19cbea8} (3ebf211b-78e4-4379-998a-34caeb0aa6fc id=0x7f0800d6 tag=HOME) did not return a View from onCreateView() or this was called before onCreateView(). at androidx.fragment.app.Fragment.requireView(Fragment.java:1964) at com.zackratos.ultimatebarx.ultimatebarx.core.CoreKt.addFrameLayoutWrapper(Core.kt:172) at com.zackratos.ultimatebarx.ultimatebarx.core.CoreKt.ultimateBarXInitialization(Core.kt:53) at com.zackratos.ultimatebarx.ultimatebarx.OperatorKt.applyStatusBar(Operator.kt:44) at com.zackratos.ultimatebarx.ultimatebarx.UltimateBarXKt.statusBar(UltimateBarX.kt:88) at com.zackratos.ultimatebarx.ultimatebarx.UltimateBarXKt.statusBar(UltimateBarX.kt:23) at com.redflag.baselib.ui.BaseFragment.setStatusBar(BaseFragment.kt:81) at com.redflag.baselib.ui.BaseFragment.onCreateView(BaseFragment.kt:40)

Zackratos commented 3 years ago

是的,因为在 onCreate 里面拿不到当前 FragmentrootView, 但是我的实现又是依赖 rootView 的,所以必须在 onCreateView 之后使用