введите здесь описание изображения для (int я = 0; я <mFragmentTitleList.size(); i++) {mFragmentList.add(new MenuListFragment()); } }
Проблема в том, что когда я выбираю вкладку или проводя пальцем, на ней отображаются продукты предыдущей вкладки. Предположим, у меня есть 5 вкладок, когда я нажимаю или выбираю 4-ю вкладку, это вызовет 3-ю вкладку или продукты 2-й вкладки.
class ViewPagerAdapter extends FragmentPagerAdapter {
private List<android.support.v4.app.Fragment> mFragmentList = new ArrayList<>();
private List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager fm, List<android.support.v4.app.Fragment> fragments, List<String> titleLists) {
super(fm);
this.mFragmentList = fragments;
this.mFragmentTitleList = titleLists;
}
@Override
public android.support.v4.app.Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList == null ? 0 : mFragmentList.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}
public void onTabSelected(TabLayout.Tab tab) {
menutitle = tab.getText().toString();}
в моем вызове API я передаю этот титул
if(child_menu_arrayJSONObject.getString("name").equals(CommonDetailFragment.menutitle))
Вам нужно передать заголовок из FragmentPagerAdapter в MenuListFragment() на основе заголовка, после чего вы можете загрузить соответствующие данные в просмотр списка. Вы можете сослаться на эту ссылку о том, как передать переменную из FragmentPagerAdapter во Fragment.
Изменение: я добавил образец приложения, пожалуйста, проверьте эту ссылку