Это мой первый раз, когда вы используете вкладки в приложении, и я чувствую, что это будет простое исправление, но я не могу найти правильное решение. У меня есть 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 MiscFragment();
(который затмение автоматически построен с 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_number"
, поэтому оба значения GridView
s ссылаются на одно и то же. Оба класса адаптера для каждого фрагмента имеют различное количество элементов в GridView
, а второе - и действует так же, как и первое. Любая помощь приветствуется!
Ok, что имеет смысл. Поэтому мне нужно изменить метод 'getItem' для включения всех фрагментов или удалить один фрагмент, чтобы я мог использовать его для всех. И оттуда используйте 'int section' в каждом из моих внутренних классов? –