viewpager

来源:互联网 发布:店铺如何关闭淘宝客 编辑:程序博客网 时间:2024/06/05 21:13

用view实现页卡 添加标题使用PagerTabStrip方法 在xml文件中加在viewpager中

public class MainActivity extends AppCompatActivity {    ViewPager VP;    public List<View> viewList;    public View view1,view2,view3;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        VP=(ViewPager) findViewById(R.id.pager);        //LayoutInfalater用来实例化一个文件成为view        LayoutInflater inflater=getLayoutInflater();        view1=inflater.inflate(R.layout.layout1,null);        view2=inflater.inflate(R.layout.layout2,null);        view3=inflater.inflate(R.layout.layout,null);        viewList.add(view2);        viewList.add(view1);        viewList.add(view3);        pagerAdapter pa=new pagerAdapter(viewList);        VP.setAdapter(pa);    }}public class pagerAdapter extends PagerAdapter {    public List<View> viewList;    //不懂为啥传给他  下面也没用到啊  好像用到了   唉  愁人    public pagerAdapter(List<View> viewList){        this.viewList=viewList;    }    @Override    //获取页卡数目    public int getCount() {        return  viewList.size();    }    @Override    //检测是否显示了    public boolean isViewFromObject(View view, Object object) {        return view==object;    }    @Override    //清除一个页卡    public void destroyItem(ViewGroup container, int position, Object object) {        container.removeView(viewList.get(position));    }    @Override    //实例化一个页卡    public Object instantiateItem(ViewGroup container, int position) {        container.addView(viewList.get(position));        return viewList.get(position);    }}

用fragment当作页卡:
1.建立fragment:`
public class Fragment1 extends Fragment{

@Override//实现该方法  虽然不知道都啥意思  文档也看不懂public View onCreateView(LayoutInflater inflater, ViewGroup container,                         Bundle savedInstanceState) {    // TODO Auto-generated method stub    return inflater.inflate(R.layout.view1, container, false);}

}
2.建立FragmentPagerAdapter

public class MyFragmentPagerAdapter extends FragmentPagerAdapter{//装fragment的集合    private List<Fragment>fragList;    //标题集合    private List<String>titleList;    public MyFragmentPagerAdapter(FragmentManager fm,List<Fragment> fragList,List<String>titleList) {        super(fm);        // TODO Auto-generated constructor stub        this.fragList=fragList;        this.titleList=titleList;    }    @Override    public Fragment getItem(int arg0) {        // TODO Auto-generated method stub        return fragList.get(arg0);    }    @Override    public int getCount() {        // TODO Auto-generated method stub        return fragList.size();    }    @Override    public CharSequence getPageTitle(int position) {        // TODO Auto-generated method stub        return titleList.get(position);    }}                                                                             2017.5.5
0 0
原创粉丝点击