Android:导航抽屉片段内的Viewpager [英] Android: Viewpager inside a fragment of Navigation Drawer

查看:26
本文介绍了Android:导航抽屉片段内的Viewpager的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在开发一个 Android 应用程序,我需要在 Navigation Drawer 的片段中实现 Viewpager 或 Tabs.我已经从本教程中实现了导航抽屉:导航抽屉教程

I'm currently developing an Android application what I need is to implement a Viewpager or Tabs inside a fragment of Navigation Drawer. I already implemented the Navigation Drawer from this tutorial: Navigation Drawer Tutorial

现在我的导航抽屉由 3 个片段组成.片段 A、片段 B、片段 C

Now I have my Navigation Drawer consist of 3 fragments. Fragment A, Fragment B, Fragment C

Fragment A上,我怎样才能为这个Fragment添加一个Viewpager?

on Fragment A how can I add a Viewpager for this Fragment?

推荐答案

这绝对是可能的.您只需要为 viewpager 使用子片段.除此之外,实现很简单.创建自定义寻呼机适配器,使用标准的 viewpager api

This is definitely possible. You just need to use child fragments for the viewpager. Other than that the implementation is straightforward. Create a custom pager adapter, use the standard viewpager api

像这样扩展 FragmentPagerAdapter:

Extend FragmentPagerAdapter like so:

private class MyPagerAdapter extends FragmentPagerAdapter
{
    public MyPagerAdapter (FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int i) {
        switch (i) {
            case 0:
                return Fragment1;
            case 1:
                return Fragment2;

        }
    }

    @Override
    public int getCount() {
        return 2;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return FRAGMENT_1_NAME;
            case 1:
                return FRAGMENT_2_NAME;



        }
    }

当然,你需要一个带有 viewpager 的布局,然后确保在 Fragment A 中像这样连接它:

You'll need an layout with a viewpager of course, then just make sure to hook it up like this in Fragment A:

myPagerAdapter = new MyPagerAdapter(this.getChildFragmentManager());
myPager = (ViewPager) mRoot.findViewById(R.id.pager);
myPager.setAdapter(myPagerAdapter);

请注意,除非您的最低 SDK 为 4.2 或更高版本,否则您将需要使用支持库和支持片段,因为子片段是 API 17

Note that you'll need to use the support library and support fragments unless your minimum SDK is 4.2 or higher, since the child fragments are API 17

这篇关于Android:导航抽屉片段内的Viewpager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆