0

アプリでタブを使用するのはこれが初めてで、これは簡単な修正になると思いますが、正しい解決策が見つかりません。現在、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;
    }

私はフラグメントをaに設定していnew MiscFragment();ます(プロジェクトを作成したときにダミーフラグメントで自動的に構築されたEclipse)

そして、私が持っています:

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_number"ため、両方GridViewの s が同じものを参照しています。各フラグメントのアダプター クラスはどちらも、アイテムの数が異なりますGridViewが、2 番目のものは最初のものと同じように見え、同じように動作します。どんな助けでも大歓迎です!

4

2 に答える 2