Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin FragmentStatePageAdapter在第三次刷卡时销毁视图(如果有2项以上)_Kotlin - Fatal编程技术网

Kotlin FragmentStatePageAdapter在第三次刷卡时销毁视图(如果有2项以上)

Kotlin FragmentStatePageAdapter在第三次刷卡时销毁视图(如果有2项以上),kotlin,Kotlin,我已将FragmentStatePageAdapter设置为在相同布局和不同数据(用户配置文件)的片段中滑动。 当我给它列出两个项目时,它们都很好地工作。 如果我给它3个或更多的项目,它会为片段创建视图,但在第三次滑动时,内容将变为空白,无论我滑动的方向是哪个(向前,然后向前,向前,然后向后)。如果我在保持屏幕的同时准确地滑动到第三项,我可以看到它的有效内容,但当我完成滑动释放屏幕时,所有内容都消失了 页面适配器的设置如下所示。(swipeList是用户ID的列表,SwipentityType=

我已将FragmentStatePageAdapter设置为在相同布局和不同数据(用户配置文件)的片段中滑动。 当我给它列出两个项目时,它们都很好地工作。 如果我给它3个或更多的项目,它会为片段创建视图,但在第三次滑动时,内容将变为空白,无论我滑动的方向是哪个(向前,然后向前,向前,然后向后)。如果我在保持屏幕的同时准确地滑动到第三项,我可以看到它的有效内容,但当我完成滑动释放屏幕时,所有内容都消失了

页面适配器的设置如下所示。(swipeList是用户ID的列表,SwipentityType==0,每个用户内容由通过捆绑包传递的“uid”加载)

class SwipeAgerFragment:Fragment(){
私有lateinit变量父级:MainActivity
私有lateinit变量状态:state
私有lateinit var ctx:上下文
私有lateinit变量swipeList:MutableList
专用lateinit var寻呼机:ViewPager
覆盖创建视图(充气机:布局充气机,容器:视图组?,
savedInstanceState:捆绑?:查看{
val视图=充气机。充气(R.layout.fragment\u swipe\u寻呼机,容器,false)
父级=活动作为主活动
state=parent.state
ctx=state.ctx
swipeList=state.swipeList
pager=view.findViewById(R.id.fragmentswipager\u pager)
val pagerAdapter=ScreenSlidePageAdapter(儿童片段管理器)
pager.adapter=pagerAdapter
返回视图
}
私有内部类ScreenSlidePageAdapter(fm:FragmentManager):FragmentStatePagerAdapter(fm){
重写fun getCount():Int=swipeList.size
重写fun getItem(位置:Int):片段=when(state.swipeEntityType){
0 -> {
makeUserFragment(swipeList[位置])
}
其他->{
makeEventFragment(swipeList[位置])
}
}
}
private-fun-makeUserFragment(uid:Int):UserFragment{
val bundle=bundle()
bundle.putInt(“uid”,uid)
val frag=UserFragment()
frag.arguments=bundle
回程碎片
}
private-fun-makeEventFragment(eid:Int):EventFragment{
val bundle=bundle()
bundle.putInt(“eid”,eid)
val frag=EventFragment()
frag.arguments=bundle
回程碎片
}
}
设置

pager.offscreenPageLimit = swipeList.size
解决我的问题

设置

pager.offscreenPageLimit = swipeList.size
解决我的问题