Android 使用多个选项卡片段

Android 使用多个选项卡片段,android,tabs,android-fragments,Android,Tabs,Android Fragments,这是我第一次在应用程序中使用标签,我觉得这将是一个简单的解决方案,但我找不到正确的解决方案。我现在有5个标签片段,但当我运行它时,它们都包含相同的材料。我认为问题在于这种方法: @Override public Fragment getItem(int position) { Fragment fragment = new MiscFragment(); Bundle args = new Bundle(); args.putInt(Mis

这是我第一次在应用程序中使用标签,我觉得这将是一个简单的解决方案,但我找不到正确的解决方案。我现在有5个标签片段,但当我运行它时,它们都包含相同的材料。我认为问题在于这种方法:

@Override
    public Fragment getItem(int position) {
        Fragment fragment = new MiscFragment();
        Bundle args = new Bundle();
        args.putInt(MiscFragment.ARG_SECTION_NUMBER, position + 1);
        fragment.setArguments(args);
        return fragment;
    }
我将片段设置为
new miscsfragment()(当我创建项目时,eclipse自动使用dummyfragment构建了该代码)

我有:

public static class MiscFragment extends Fragment {

    public static final String ARG_SECTION_NUMBER = "section_number";

    public MiscFragment() {

    }
    View rootView;
    GridView gridView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        rootView = inflater.inflate(R.layout.misc_fragment,
                container, false);

        gridView = (GridView) rootView.findViewById(R.id.miscgridview);
        gridView.setAdapter(new MiscAdapter(getActivity()));
        return rootView;
    }


}

public static class OtherFragment extends Fragment{

    public static final String ARG_SECTION_NUMBER = "section_number";

    public OtherFragment(){

    }
    View rootView;
    GridView gridView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup contatiner,
            Bundle savedInstanceState){
        rootView = inflater.inflate(R.layout.sb_fragment,
                contatiner, false);
        gridView = (GridView) rootView.findViewById(R.id.sbgridview);
        gridView.setAdapter(new OtherAdapter(getActivity()));
        return rootView;
    }

}

(第一个方法和两个内部类都在我的MainActivity中),看起来它们都使用相同的
“section\u number”
,因此这两个
GridView
都引用了相同的内容。每个片段的两个适配器类在
GridView
中都有不同数量的项,但第二个适配器类的外观和行为与第一个适配器类相同。任何帮助都将不胜感激

您从未读取片段中的
节号
参数

int section = getArguments().getInt(ARG_SECTION_NUMBER);

我讨厌回答我自己的问题,但问题是:

问题在于
getItem
方法。其工作原理如下:

public Fragment getItem(int position) {
    Fragment fragment1 = new FirstFragment();
    Fragment fragment2 = new SecondFragment();
    Fragment fragment3 = new ThirdFragment();

    if(position == 0){
       return fragment1;
    }
    else if (position == 1){
       return fragment2;
    }
    else{
       return fragment3;
    }
}

然后,每个(数字)Fragment()都与内部片段类相关,这非常有意义。因此,我是否需要更改我的
getItem
方法以包含所有片段,或者删除其中的一个片段,以便我可以将其用于所有片段。然后在我的每个内部类中使用
int section