【发布时间】:2017-02-10 23:40:36
【问题描述】:
我已经有一个可以工作的 viewpager,但我有一个小错误。用户可以自己添加或删除页面。在这些页面中,我有一个编辑文本(实际上我有更多,但所有情况都是一样的),它是页面的名称。如果用户创建一个称为“page 1”的页面,将其删除并在其后立即创建另一个页面,称为“page 2”,片段将在第 1 页显示数据。为什么?我打电话给notifyDataSetChanged ();创建和删除页面后为什么不刷新片段?如果我离开活动并重新启动它,用户创建的“页面2”将显示“页面2”的数据。我还需要做什么才能正确刷新片段?
我使用这个库:link
我的 onCreate 方法
viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPagerTab = (SmartTabLayout) findViewById(R.id.viewpagertab);
pages = new FragmentPagerItems(this);
int i = 0;
for (Points points : Pref.getList_points()) {
pages.add(FragmentPagerItem.of(points.getName(), FragmentConfigurationPoints.class, new Bundler().putInt("param1", i).get()));
i++;
}
adapter = new FragmentPagerItemAdapter(getSupportFragmentManager(), pages){
@Override
public int getItemPosition(Object object) {
return PagerAdapter.POSITION_NONE;
}
};
viewPager.setAdapter(adapter);
viewPagerTab.setViewPager(viewPager);
我添加页面的方法
pages.add(FragmentPagerItem.of(
Pref.getList_points().get(Pref.get_size() - 1).getName(),
FragmentConfigurationPoints.class,
new Bundler().putInt("param1", Pref.get_size() - 1).get()
));
adapter.notifyDataSetChanged();
viewPagerTab.setViewPager(viewPager);
viewPager.setCurrentItem(Pref.get_size() - 1, true);
【问题讨论】:
标签: android android-fragments android-viewpager