ViewPager中ViewPager的使用

来源:互联网 发布:淘宝买狗靠谱吗 编辑:程序博客网 时间:2024/04/27 20:21

 将ViewPager中内嵌的ViewPager设置一个setOnTouchListener事件,记录是否被触摸状态

viewPaper.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {int action = event.getAction();if (MotionEvent.ACTION_DOWN == action) {isTouch = true;} else if (MotionEvent.ACTION_OUTSIDE == action|| action == MotionEvent.ACTION_UP) {isTouch = false;}return false;}});

覆盖dispatchTouchEvent分配两个ViewPager的触摸事件。

@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {if (mainViewFragment.isTouch()) {ViewPager viewPaper = mainViewFragment.getViewPaper();return viewPaper.dispatchTouchEvent(ev);}return super.dispatchTouchEvent(ev);}

使用Fragment适配器,需要继承FragmentActivity类。

viewsAdapter = new FragmentViewsAdapter(getSupportFragmentManager());mPager.setAdapter(viewsAdapter);

下面适配器代码中的fragList是一个ArrayList<Fragment>集合,将集合中的Fragment作为一个页面来显示在ViewPager中。

static class FragmentViewsAdapter extends FragmentPagerAdapter {public FragmentViewsAdapter(FragmentManager fm) {super(fm);}@Overridepublic int getCount() {return fragList.size();}@Overridepublic Fragment getItem(int position) {return fragList.get(position);}}

创建一个类继承Fragment类,需要覆盖onCreateView方法。

@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {layout = inflater.inflate(R.layout.main_view, null);return layout;}

源码地址:http://download.csdn.net/detail/aaren_jiang/5207881


作者:黑卡米       原文地址:http://blog.csdn.net/aaren_jiang/article/details/8743517