gpt4 book ai didi

android - 查看适配器中的 Adaper 滑动问题

转载 作者:行者123 更新时间:2023-11-30 04:54:27 25 4
gpt4 key购买 nike

实际上我的应用程序中有 4 个 fragment ,我通过向左或向右滑动来切换 fragment 。我使用查看寻呼机来滑动 fragment 是完美地滑动但是如果我滑动并且 fragment B 显示但是 fragment C 的后端功能运行时会出现问题。如果我转到 C,那么 D 的后端功能就会运行。在 fragment A 中, fragment A 的第一个后端功能运行,然后它自动转移到 fragment B,但前端 View 是 fragment A

这是适配器

public class TabsPagerAdapter extends FragmentPagerAdapter {

private int mNumTabs;

public TabsPagerAdapter(FragmentManager fm, int numTabs) {
super(fm);
this.mNumTabs= numTabs;
}

@Override
public Fragment getItem(int position) {
switch (position) {

case 0:
PersonalSettings tab0 = new PersonalSettings();

return tab0;
case 1:
Health tab1 = new Health();
return tab1;
case 2:
Statistics tab2 = new Statistics();
return tab2;
case 3:
Motivation tab3 = new Motivation();
return tab3;
default:
return null;
}
}

@Override
public int getCount() {
return mNumTabs;
}

}

这是主要 Activity

  viewPager = (ViewPager) findViewById(R.id.pager);
mAdapter = new TabsPagerAdapter(getSupportFragmentManager(),4);
viewPager.setAdapter(mAdapter);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

@Override
public void onPageSelected(int position) {
}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}

@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}

如果你想要进一步的代码,我会给你

最佳答案

这是因为 viewpager 会预加载当前项目旁边的项目以改善用户体验(在您的情况下,项目是 fragment )
您可以将 offscreenPageLimit 设置为 ViewPager 来限制它:

viewPager.setOffscreenPageLimit(1);

但是如果你这样做,你会发现每次进入时 fragment 都会重新加载,IMO 这不是一个好的做法。

关于android - 查看适配器中的 Adaper 滑动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59476238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com