我正在使用Fragment Pager Adapter和PagerView来创建滑动选项卡。 但面临一些问题。
这是我的:-ViewPagerAdapter
显示第一个片段并显示第二个片段对话框 框(在后台加载数据)。当我滑到第二个 片段它加载第三个片段对话框并在后台加载数据。
public class ViewPagerAdapter extends FragmentPagerAdapter { private Context _context; public ViewPagerAdapter(Context context, FragmentManager fm) { super(fm); _context = context; } @Override public Fragment getItem(int position) { Fragment f = new Fragment(); switch (position) { case 0: f = ReservationTab.newInstance(_context); break; case 1: f = GalleryTab.newInstance(_context); break; case 2: f = VideoTab.newInstance(_context); break; } return f; } @Override public int getCount() { return 3; } }
从这里访问: -
private void setUpView() {
_mViewPager = (ViewPager) findViewById(R.id.viewPager);
_adapter = new ViewPagerAdapter(getApplicationContext(),
getSupportFragmentManager());
_mViewPager.setAdapter(_adapter);
_mViewPager.setCurrentItem(0);
}
private void setTab() {
_mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageScrollStateChanged(int position) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageSelected(int position) {
// TODO Auto-generated method stub
System.out.println("PRINT position-- " + position);
switch (position) {
case 0:
first_tab.setVisibility(View.VISIBLE);
second_tab.setVisibility(View.INVISIBLE);
third_tab.setVisibility(View.INVISIBLE);
break;
case 1:
first_tab.setVisibility(View.INVISIBLE);
second_tab.setVisibility(View.VISIBLE);
third_tab.setVisibility(View.INVISIBLE);
break;
case 2:
first_tab.setVisibility(View.INVISIBLE);
second_tab.setVisibility(View.INVISIBLE);
third_tab.setVisibility(View.VISIBLE);
break;
}
}
});
}
@Override
public void onTabChanged(String arg0) {
// TODO Auto-generated method stub
}
答案 0 :(得分:1)
这是预期的行为。
如果您不希望ViewPager在后台加载下一个片段,您应该调用setOffscreenPageLimit(0)。