Я создаю android приложение с макетом вкладок. У меня есть 3 вкладки. Прокрутка между вкладками очень запаздывает. Вот класс MainActivity:
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ViewPager vp= findViewById(R.id.vp);
TabLayout tbl= findViewById(R.id.tbl);
TabItem t1= findViewById(R.id.t1);
TabItem t2= findViewById(R.id.t2);
TabItem t3= findViewById(R.id.t3);
final PageAdapter pagerAdapter= new PageAdapter(getSupportFragmentManager(),tbl.getTabCount());
vp.setOffscreenPageLimit(5);
vp.setAdapter(pagerAdapter);
tbl.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
public void onTabSelected(TabLayout.Tab tab) {
vp.setCurrentItem(tab.getPosition());
if(tab.getPosition()==0)pagerAdapter.notifyDataSetChanged();
if(tab.getPosition()==1)pagerAdapter.notifyDataSetChanged();
if(tab.getPosition()==2)pagerAdapter.notifyDataSetChanged();
}
public void onTabUnselected(TabLayout.Tab tab) { }
public void onTabReselected(TabLayout.Tab tab) { }
});
vp.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tbl));
}
Это класс PageAdapter
class PageAdapter extends FragmentPagerAdapter {
private int noOfTabs;
PageAdapter(FragmentManager fm,int noOfTabs){
super(fm);
this.noOfTabs=noOfTabs;
}
public Fragment getItem(int position) {
switch (position){
case 0:return new tab1();
case 1:return new tab2();
case 2:return new tab3();
default:return null;
}
}
public int getCount() { return noOfTabs; }
public int getItemPosition(@NonNull Object object) { return POSITION_NONE; }
}
Я пытался использовать vp.setOffscreenPageLimit (3) для своего пейджера просмотра. Это не имело значения. Что мне делать ??