Android Studio默认的“选项卡活动”,如何通过滑动浏览片段?

10

完全的新手..

我使用了"选项卡活动(Tabbed Activity)"从新项目向导(New Project Wizard)中默认生成的代码。

我试图让它通过滑动来浏览3个不同的片段(fragment),然而我根本看不到在哪里告诉程序如何实现。我是将它们作为数组加载吗?如果是,那么我应该在哪里加载它们,如何实例化不同的片段(fragment)呢?

非常感谢您提供任何指针和/或解决方案。

2个回答

3
您可以创建一个 PagerAdapter,在其中可以根据选项卡调用 Fragment。
public class TabsPagerAdapter extends FragmentPagerAdapter {

public TabsPagerAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int index) {

    switch (index) {
    case 0:
        // Top Rated fragment activity
        return new TopRatedFragment();
    case 1:
        // Games fragment activity
        return new GamesFragment();
    case 2:
        // Movies fragment activity
        return new MoviesFragment();
    }

    return null;
}

@Override
public int getCount() {
    // get item count - equal to number of tabs
    return 3;
}

在主活动的onCreate方法中初始化选项卡值,以使选项卡正常工作。

private String[] tabs = { "Top Rated", "Games", "Movies" };
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Initilization
    viewPager = (ViewPager) findViewById(R.id.pager);
    actionBar = getActionBar();
    mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

    viewPager.setAdapter(mAdapter);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        

    // Adding Tabs
    for (String tab_name : tabs) {
        actionBar.addTab(actionBar.newTab().setText(tab_name)
                .setTabListener(this));
    }

}


1
我知道这个问题很老,但希望它能帮助到某些人。对我来说,这真的很令人沮丧,因为我正在尽力学习Android,但是向导似乎提供了一个不完整的模板。

无论如何,在 fragment_main.xml 中,向TextView添加一些文本,现在页面将显示出来,因为有内容了。

<TextView android:id="@+id/section_label" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="Hello World" />

我发现这很有帮助,但如果您利用您现在获得的知识,补充更多细节,那将是一个好答案(因为它实际上并没有回答所提出的问题)。 - codah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接