为每个视图扩展新的布局xml - 在PagerAdapter中实例化instantiateItem

时间:2012-06-14 16:47:01

标签: android android-viewpager layout-inflater

所以基本上我想在ViewPager中填充页面,为每个视图位置分别使用XML布局。我目前正在做这个

@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时,将隐藏/销毁布局。为什么是这样?我这样做是错误的吗?请帮助并纠正我。

感谢。 爱。韦斯利

1 个答案:

答案 0 :(得分:16)

查看this link,了解如何将所有内容放在一起的好教程。基本上这个想法是你必须将新膨胀的视图添加到ViewPager集合中:

View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);