Actionbar选项卡和ViewPager中的片段

时间:2011-11-08 02:03:48

标签: android tabs fragment android-actionbar android-viewpager

是否可以在平板电脑操作栏选项卡和手机ViewPager中使用片段?看来手机使用的是支持库,并且与Actionbar中的TabListener不兼容。是否有一个技巧让两者都使用相同的片段?

到目前为止,我见过的唯一可能的解决方法是this

由于

4 个答案:

答案 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。