问题描述
- 关于在Actionbar Tab和ViewPager里面的Fragment的问题
-
在tablet Actionbar Tabs和 phone ViewPager中能使用一个Fragment吗?
看似手机使用支持库,与 Actionbar中的TabListener 不兼容。
有什么方法能共同使用相同的Fragment?
我查资料看到这个方法,也供大家参考。
解决方案
你需要在adapter中实现它们共同的接口,来处理tab的转换。
public class TabsPagerAdapter extends FragmentPagerAdapter implements
ViewPager.OnPageChangeListener, ActionBar.TabListener {
// implement both
}
使用support/compatibility library来添加tab
getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
viewPager = (ViewPager) findViewById(R.id.content);
tabsAdapter = new TabsPagerAdapter(this, getSupportActionBar(),
viewPager);
ActionBar.Tab tab = getSupportActionBar().newTab();
MyFragment f = new MyFragment();
tabsAdapter.addTab(tab, f);
解决方案二:
楼主可以研究下Fragments的官方文档说明,并且试验下看看能不能达到你要的效果。
时间: 2024-12-28 17:49:53