How to implement a ViewPager with different Fragments / Layouts

前端 未结 6 929
失恋的感觉
失恋的感觉 2020-11-22 00:32

When I start an activity which implements viewpager, the viewpager created various fragments. I want to use different layouts for each fragment, but the problem is that view

6条回答
  •  忘掉有多难
    2020-11-22 01:08

    Create an array of Views and apply it to: container.addView(viewarr[position]);

    public class Layoutes extends PagerAdapter {
    
        private Context context;
        private LayoutInflater layoutInflater;
        Layoutes(Context context){
            this.context=context;
        }
        int layoutes[]={R.layout.one,R.layout.two,R.layout.three};
        @Override
        public int getCount() {
            return layoutes.length;
        }
    
        @Override
        public boolean isViewFromObject(View view, Object object) {
            return (view==(LinearLayout)object);
        }
        @Override
        public Object instantiateItem(ViewGroup container, int position){
            layoutInflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View one=layoutInflater.inflate(R.layout.one,container,false);
            View two=layoutInflater.inflate(R.layout.two,container,false);
            View three=layoutInflater.inflate(R.layout.three,container,false);
            View viewarr[]={one,two,three};
            container.addView(viewarr[position]);
            return viewarr[position];
        }
        @Override
        public void destroyItem(ViewGroup container, int position, Object object){
            container.removeView((LinearLayout) object);
        }
    
    }
    

提交回复
热议问题