3 回答
TA贡献1811条经验 获得超5个赞
有几种方法可以实现这一点。
第一种选择比较容易,但效率更低。
覆盖getItemPosition在你的PagerAdapter就像这样:
public int getItemPosition(Object object) {
return POSITION_NONE;}这样,当你打电话的时候notifyDataSetChanged(),视图寻呼机将删除所有视图并重新加载它们。这样就得到了再加载效应。
第二种选择,阿尔瓦罗·路易斯·布斯塔曼特(以前为阿尔瓦罗),是为了setTag()方法instantiateItem()实例化新视图时。然后,而不是使用notifyDataSetChanged(),你可以用findViewWithTag()若要找到要更新的视图,请执行以下操作。
第二种方法非常灵活和高性能。对阿尔瓦罗布的最初研究表示赞许。
TA贡献1816条经验 获得超4个赞
PagerAdapter
PagerAdapterViewPager
notifyDataSetChanged()PagerAdapterViewPagerViewPagerViewPagergetItemPosition()getCount()
ViewPagernotifyDataSetChanged()getItemPosition()POSITION_NONEViewPagerdestroyItem()
getItemPosition()POSITION_NONEnotifyDatasetChanged()TextView
setTag()instantiateItem()findViewWithTag()ViewPager
TextViewTextView
TA贡献1845条经验 获得超8个赞
FragmentPagerAdapterFragmentStatePagerAdapter.
getItemPosition()POSITION_NONE.
notifyDataSetChanged()
- 3 回答
- 0 关注
- 978 浏览
添加回答
举报
