【发布时间】:2016-04-02 22:50:24
【问题描述】:
我是中国人,我的英语很差。当我使用ViewPager 和ListView(ListView 在ViewPager 中添加)和PagerAdapter 模式为 POSITION_NONE 时遇到问题,我在 PagerAdapter 中使用 List 保存了膨胀的ListView,但奇怪的现象是当我调用 pagerAdapter.notifyDataSetChanged 时,ListView 滚动到第一个位置。这里是代码:
private class MyAdapter2 extends PagerAdapter {
@Override
public int getCount() {
return 4;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(listviews[position], 0);
return listviews[position];
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
【问题讨论】:
-
嗨阳光,当您刷新父布局时,子布局也会刷新,这就是您的列表视图也刷新的原因。 (根据我的观点)。
-
但是当视图膨胀时,我将每个页面都保存在 pageAdapter 中,例如第一个 listview 并且不会膨胀 xml,除了第一次在 instantiateItem 中
标签: android android-listview android-viewpager