Я хочу показать один и тот же фрагмент, например, фрагмент, имеющий активность дня недели в представлении на весь день с разными данными. Я буду давать параметр dayNumber
каждому экземпляру, который создается и показывает связанные действия. Проблема в том, что я вижу один и тот же фрагмент на каждой вкладке независимо от того, какой параметр я передал. Я думаю, что последний фрагмент, добавленный или созданный пейджером, переопределяет все другие экземпляры фрагментов вкладок. Потому что , когда я открываю элемент списка в расходном списке View, открывается во всех фрагментах пейджера. Вот как я использую пейджер и фрагмент.Отображение фрагмента с различными параметрами в закладках пейджера представления
Пейджер
mPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// When swiping between pages, select the
// corresponding tab.
if (bar.getNavigationMode() == ActionBar.NAVIGATION_MODE_TABS)
if (bar.getSelectedNavigationIndex() != position)
bar.setSelectedNavigationItem(position);
// should be changed when some solution comes.
if (tab == 0) {
Fragment ev;
if ((ev = (Fragment) mPagerAdapter.instantiateItem(mPager,
0)) instanceof frTimetable)
((frTimetable) ev).refresh(day.Monday);
} else if (tab == 1) {
Fragment ac;
if ((ac = (Fragment) mPagerAdapter.instantiateItem(mPager,
1)) instanceof frTimetable)
((frTimetable) ac).refresh(day.Tuesday);
}
tab = position;
}
Fragement
{
//class other methods
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fr_timetable, container, false);
ExpandList = (ExpandableListView) view.findViewById(R.id.expActivityView);
//I will change the list items in refresh method of the fragment for a day type
ExpListItems = new ArrayList<Items>(Timetable_Provider.getAllActivites());
ExpAdapter = new ExpandListAdapter(getActivity(), ExpListItems);
ExpandList.setAdapter(ExpAdapter);
return view;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}