当前位置: 首页 > 知识库问答 >
问题:

只加载第一个选项卡的视页片断

司徒兴思
2023-03-14

我使用TabLayout与Viewpager和有3个标签。我正在使用FragmentPagerAdapter来设置选项卡和它的片段。

我只想加载第一个选项卡的片断时,它是默认选择,并希望加载其他选项卡的片断在一个新的活动。

我尝试在位置1和位置2的情况下从getItem方法返回null,但它给出了异常

提前多谢。

共有1个答案

穆招
2023-03-14

当您使用FragmentPagerAdapter时,您通常会扩展它并重写几个方法。其中之一是getitemcount()。根据宿主活动的不同,只需将此返回值设为1或3(或其他)。例如,将宿主activity作为参数传递,并检查getitemcount()方法中哪个activity类是选项卡的宿主。

您还可以添加自己的方法public void setItemCount(int count),该方法将更改显示的选项卡数量(以及fragments加载的数量)。但我不确定这是否行得通。

 类似资料:
  • 我有一个视页,有3个标签在里面。所有三个选项卡都有它们的片段。我注意到,当我将adapter设置为ViewPager时,每个片段数据都是在第一次加载的。 我需要的是只有当特定的标签被点击时才加载相应标签的片段数据。

  • } 我使用android ViewPager,当我点击不同的标签时,使用不同的片段来加载。但问题是,当我单击选项卡时,片段没有加载。当活动加载时,所有的片段都被加载,那么片段就不会改变。我如何解决这个问题?我需要加载片断时,我选择选项卡在查看页。

  • 我正在使用MVVMCROSS6与Xamarin Android。刚刚升级到MVX6.2,但问题仍然存在。我正在跟随样例游乐场加载视页。我有一个活动持有3个选项卡的视图页。在活动的viewmodel中,将选项卡添加到ViewPager中: 在playground示例中,当通过导航到那些选项卡的viewmodel构建viewpager时,不会创建选项卡片段。片段只有在显示时才会被创建。 对于我的第二和

  • 我已经在我的片段中重写了以下方法:setUserVisibleHint 在fragment类中,变量设置为:private var isLoadOnce=false。 我有3个片段,问题是当我的活动popsup时,第一个片段是可见的,如果我单击最后一个选项卡,也就是第三个选项卡加载第三个片段,什么也不会发生,即web服务根本不会调用。

  • 我可以使用将显示为选项卡。 null 附言。这项功能存在于Twitter和Facebook的Android应用程序中。

  • 我试图创建一个标签,显示一个列表的左手片段和一个详细的片段在右边。当用户单击列表项时,右边的片段应该更改为适当的片段。 我是android新手,所以我使用了一个教程,我知道我需要用TabListener做一些事情: