为每个视图膨胀新的布局 xml - PagerAdapter 中的实例化项目
Posted
技术标签:
【中文标题】为每个视图膨胀新的布局 xml - PagerAdapter 中的实例化项目【英文标题】:Inflate new layout xml for each view - instantiateItem in PagerAdapter 【发布时间】:2012-06-17 18:14:06 【问题描述】:所以基本上我想用每个视图位置的单独 XML 布局填充 ViewPager 内的页面。我目前正在这样做
@Override
public Object instantiateItem(View container, int position)
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
if(position == 0)
view = inflater.inflate(R.layout.main, null);
((ViewPager) container).addView(view, 0);
if(position == 1)
view = inflater.inflate(R.layout.main_second, null);
((ViewPager) container).addView(view, 0);
if(position == 2)
view = inflater.inflate(R.layout.main_third, null);
((ViewPager) container).addView(view, 0);
return view;
视图最初显示正确,但是当我滑动 ViewPager 时,布局被隐藏/破坏。为什么是这样?我做错了吗?请帮助并纠正我。
谢谢。 爱。卫斯理
【问题讨论】:
你能得到解决方案吗? 它也可以帮助***.com/a/37916222/3496570 【参考方案1】:查看this link,了解如何将它们组合在一起的优秀教程。基本上这个想法是你必须将新膨胀的视图添加到 ViewPager 集合中:
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
【讨论】:
在哪里实现这个你能解释一下吗? @Pintu,把这段代码放在switch语句后面的instantiateItem方法中。请参阅我帖子中教程链接的第 4 步。以上是关于为每个视图膨胀新的布局 xml - PagerAdapter 中的实例化项目的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Android 中的 XML 中设置膨胀视图的布局宽度、高度和重量
避免将 null 作为视图根传递(需要在膨胀布局的根元素上解析布局参数)
尝试为内部列表视图的每一行膨胀不同的视图 (android.view.InflateException: Binary XML..)