为多个选项卡返回相同的片段

时间:2015-01-20 21:47:19

标签: android android-viewpager fragment fragmentpageradapter

我有3个标签但是我有一个片段。是否有可能为3个标签使用一个片段?

目前我在FragmentPagerAdapter中有这个:

@Override
        public Fragment getItem(int position) {
            if (position == 0) {
                return new FragmentTwo(region,"1");
            } else if(position == 1){
                return new FragmentTwo(region,"2");
            }
            return new FragmentTwo(region,"3");
        }

但只在一个标签中显示所有数据..

我已编辑了我的代码,但仍在一个标签中获取所有数据。 目前:

@Override
        public Fragment getItem(int position) {
            return FragmentTwo.newInstance(region, position);
        }

&安培;&安培;

static FragmentTwo newInstance(String region,int position) {
        FragmentTwo frag=new FragmentTwo();
        Bundle args=new Bundle();
        args.putInt("KEY_POSITION", position);
        args.putString("REGION", region);
        if(position == 0){
            args.putString("TYPE","A");
        }
        else if(position == 0){
            args.putString("TYPE","B");
        }
        else{
            args.putString("TYPE","C");
        }
        frag.setArguments(args);

        return(frag);
    }

为了创建我的FragmentPagerAdapter,我正在调用getSupportFragmentManager();

1 个答案:

答案 0 :(得分:1)

是的,您可以创建FragmentTwo的实例,将其保存在字段/变量中,并将其用作函数中的返回数据。

需要注意的一点是,您不应该使用带有Fragments参数的构造函数。使用Bundle和参数。带参数的构造函数可能会导致Fragments出现问题。

请看一下这篇文章:Best practice for instantiating a new Android Fragment