KingJA / LoadSir

A lightweight, good expandability Android library used for displaying different pages like loading, error, empty, timeout or even your custom page when you load a page.(优雅地处理加载中,重试,无数据等)
3.49k stars 505 forks source link

承载各个fragment的容器如果是FragmentContainerView或者Fragment,在调用register注册时会crash #173

Open nicelyjust opened 1 year ago

nicelyjust commented 1 year ago

使用Navigation时会crash,参考问题 #161

aowoWolf commented 1 year ago

目前我使用loadsir的确会遇到这种问题,如果你在activity中使用,直接用页面根布局注册是可以的,但是如果是在fragment中的话,建议包裹一层,如:

<FrameLayout
android:id="@+id/rootView"
>

<YourView/>
</FrameLayout>

包裹之后

<FrameLayout android:id=rootView>

<FrameLayout
android:id=container
>
<YourView/>
</FrameLayout>
</FrameLayout>

使用container去注册就可以了规避在fragment遇到的问题

ps:再附送一个注册可能会遇到的问题,smartrefreshLayout嵌套recyclerView,如果你用recyclerView去注册loadSir的话,生成的loadLayout可能的高度是0,从而布局白屏,也是同样处理,使用布局包裹一层,再去使用recyclerview注册,更简单的处理用smartRefreshLayout去注册也可以规避高度为0问题

nicelyjust commented 1 year ago

@aowoWolf 谢谢 对我帮助很大