fragment中嵌套tabLayout+viewPager,外部fragment切换的时候内部出现

xiaoxiao2021-02-27  125

fragment中嵌套tabLayout+viewPager,在内部viewPager利用fragment填充的时候,在最外层出现fragment切换的时候内部的viewPager会出现空白,看下面图:

大致页面就是这样子的。点击按钮1 2  3  4,的时候切换外部fragment,内部的viewpager内部填充fragment会出现空白,通俗的可以这么解释:在fragment中嵌套fragment,当外部fragment切换时,内部fragment会出现空白情况      * 这是因为外部fragment切换后,内部fragment会走destroy生命周期,当外部fragment切换回来后自然      * 内部fragment就不存在了,因此我们可以利用tag值保存当前fragment的视图view,当内部fragment已      * 被创建过了后保存tag,再次切换回来后调用tag值

解决代码如下:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if(container.getTag()==null){ view = inflater.inflate(R.layout.study, container, false); init(); container.setTag(view); }else{ view = (View) container.getTag(); } return view; } 这样就可以完美解决内部空白的问题。

注意:可以能不止这个这种组合会出现这种问题,其他多层嵌套都可能会出现这种问题。这种解决办法可以利用。

转载请注明原文地址: https://www.6miu.com/read-13557.html

最新回复(0)