是否可以在平板电脑操作栏选项卡和手机ViewPager中使用片段?看来手机使用的是支持库,并且与Actionbar中的TabListener不兼容。是否有一个技巧让两者都使用相同的片段?
到目前为止,我见过的唯一可能的解决方法是this。
由于
答案 0 :(得分:7)
当然,请查看兼容性库源中的ActionBarTabsPager
示例。您需要在适配器中实现两个接口以处理选项卡切换和分页。像这样:
public class TabsPagerAdapter extends FragmentPagerAdapter implements
ViewPager.OnPageChangeListener, ActionBar.TabListener {
// implement both
}
您需要添加这样的标签(使用支持/兼容性库):
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);
答案 1 :(得分:0)
http://developer.android.com/training/backward-compatible-ui/index.html
这是从兼容性库中使用Fragment与ActionBar.Tab和TabListener的好方法。
答案 2 :(得分:0)
以下是来自Nikolay Elenkov回答的TabsPagerAdapter https://wwwjdic.googlecode.com/svn-history/r684/branches/2.0/wwwjdic/src/org/nick/wwwjdic/TabsPagerAdapter.java的示例实现。
答案 3 :(得分:0)
这个想法是使用android-support-v13.jar。此文件包含用于本机片段的FragmentPagerAdapter以及ViewPager。