【发布时间】:2017-10-10 04:14:15
【问题描述】:
我一直在研究带有 3 个选项卡的 TAB 布局。
我的问题是 我无法更新,刷新页面之间滑动的第二个标签。
根据我的调试 我从第一个选项卡滑动到第二个,第三个在 getItem(int position) 调用,类似的片段一个被称为从第三个选项卡滑动到第二个。
viewpager 的默认 getOffscreenPageLimit 为 1。我什至无法将其设置为零计数。
在getItem,一开始的位置是1,但是当我滑动页面时, 它只调用位置 0 和 2。 1 永远不会被调用。
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
这是我的 ViewPagerSetUp
private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new
ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new InvitedFragment(), "Invited");
adapter.addFragment(new InterestedFragment(), "Interested");
adapter.addFragment(new AttendingFragment(), "Attending");
viewPager.setAdapter(adapter);
}
这是我的 ViewPager
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
public void refreshFragment(int position) {
mFragmentList.get(position).onResume();
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
addOnPageChangeListener 是一种选择,但我也无法使用 pageChangelistener 刷新它。
如何解决 offscreenpagelimit 问题? 如何在每次页面滑动时刷新每个标签?
谢谢。
【问题讨论】:
标签: java android android-fragments android-viewpager fragment