我想要与ViewPager有类似的功能。 它预先加载碎片,所以当我滑动它时,它会平滑地显示碎片。
以下是我的应用的一些细节。 它在创建片段时从api中提取数据(我在OnCreateView方法中调用api),所以一旦api调用完成,它就会显示所有数据。在呼叫api期间,它显示转向轮。 数据包含图像和一些文本。 我用Glide来展示图像。所以显示用户需要更多时间。
我创建了滑动手势,因此用户可以使用滑动来探索片段。 用户应该总是等待一段时间才能看到数据,因为它在显示时会调用api。
反向滑动是完美的,因为它已经加载了。
我可以通过反向滑动预加载碎片吗?或者我需要使用ViewPager吗? 我认为即使我使用ViewPager,它也不是很完美......
我想在不等待的情况下显示数据。 谢谢你的帮助!
答案 0 :(得分:0)
这将是一个简单的例子,说明如何实现你想要的东西,你需要填写页面的lisview或数据,你需要在一个Asyntask中完成它们。
public class ViewPagerAdapter extends FragmentPagerAdapter
{
private final List<Fragment> fragmentViewsList = new ArrayList<>();
private final List<String> fragmentsTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return fragmentViewsList.get(position);
}
@Override
public int getCount() {
return fragmentViewsList.size();
}
public void addFragment(Fragment fragment, String title) {
fragmentViewsList.add(fragment);
fragmentsTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return fragmentsTitleList.get(position);
}
}
答案 1 :(得分:0)
最后我决定使用ViewPager,它看起来效果很好。 我在调用web api时显示了加载覆盖。
如果有人知道如何预加载片段,请给我解决方案。 感谢。
答案 2 :(得分:-1)
我建议你在这种情况下使用widgest android来执行,这个串行操作使用FragmentPagerAdapter并执行单个服务来填充你的每个数据。
问候。