1. 范例说明
- ViewPager实现滑动切换的效果,但是切换的几个页面只是调用了不同的layout,实际上还是在一个Activity里面,对功能编写就不方便了。所以,采用TabHost和ViewPager结合,使用TabHost切换Activity,使用ViewPager切换界面,从而完善切换效果
- 原理就是把tabhost里原有的的tabcontent隐藏掉,加一个viewpager,捕捉事件进而进行互相刷新的动作。
2. 运行结果
3. 核心代码
tabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { tabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { if ("A".equals(tabId)) { pager.setCurrentItem(0); } if ("B".equals(tabId)) { pager.setCurrentItem(1); } if ("C".equals(tabId)) { pager.setCurrentItem(2); } } }); } }); pager.setAdapter(new MyPageAdapter(listViews)); pager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { tabHost.setCurrentTab(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } });
4. 视频讲解