Android - фрагмент для каждой вкладки
Я новичок в разработке Android. У меня есть активность, которая использует FragmentPagerAdapter для создания вкладок. Все работает отлично, за исключением того, что я хочу, чтобы каждая вкладка имела свой уникальный fragment.xml
файл и сейчас все вкладки отображают один и тот же фрагмент (fragment_home.xml
).
У меня есть подозрение, что проблема заключается в этом коде:
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
TextView textView = (TextView) rootView
.findViewById(R.id.section_label);
textView.setText(Integer.toString(getArguments()
.getInt(ARG_SECTION_NUMBER)));
return rootView;
}
РЕДАКТИРОВАТЬ 1
Я добавил еще один класс Fragment для представления другого фрагмента. Имеет свой OnCreateView()
метод, который надувает XML-файл с именем fragment_overview.xml
и это прекрасно работает.
Теперь я все еще застрял с проблемой, когда оба фрагмента должны присутствовать на разных вкладках.
Код ниже создает экземпляр OverViewFragment
в его getItem()
метод. Возвращается только один фрагмент, так как мне сделать его из нескольких фрагментов?
public class SectionsPagerAdapter extends FragmentPagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class
// below).
return OverviewFragment.newInstance(position + 1);
}
@Override
public int getCount() {
// Show 3 total pages.
return 5;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return getString(R.string.tab1).toUpperCase(l);
case 1:
return getString(R.string.tab2).toUpperCase(l);
}
return null;
}
}
1 ответ
Привет вам нужно создать отдельные фрагменты для каждой вкладки и связать с вашей позиции вкладки. Вы можете обратиться к следующему репозиторию, чтобы узнать, как это сделать. FragmentPageAdapter с вкладками