Этот вопрос связан с this one, о котором я спрашивал раньше.Android: вызов адаптера непосредственно в viewpager или фрагмент вызова на страницу?
создать ViewPager в MainActivity.java так:
final ViewPager viewPager = (ViewPager) findViewById(R.id.vp_horizontal_ntb);
viewPager.setAdapter(new PagerAdapter() {
@Override
public int getCount() {
return 5;
}
@Override
public boolean isViewFromObject(final View view, final Object object) {
return view.equals(object);
}
@Override
public void destroyItem(final ViewGroup container, final int position, final Object object) {
((ViewPager) container).removeView((View) object);
}
@Override
public Object instantiateItem(final ViewGroup container, final int position) {
if(position==0) {
// here is important!
} else if(position == 1) {
}
...
}
});
Теперь я хочу заполнить каждую страницу с каким-то списком JSON RecyclerView данных (получить JSON от сети)..
Каждая страница имеет отдельный список данных.
В первый раз, я создаю фрагмент для каждой страницы, как это:
if (position == 0) {
final View view = LayoutInflater.from(getActivity().getBaseContext()).inflate(R.layout.fragment_tab0, null, false);
tabFragment.MyAdapter adapter = new tabFragment.MyAdapter(getActivity().getSupportFragmentManager());
adapter.addFragment(new tab0Fragment(), getResources().getString(R.string.tab0));
container.addView(view);
return view;
}
(так на 5 странице, у меня есть 5 фрагмент
Но Мое приложение работать медленно. (laggy), когда я прокручиваю страницы (при нормальном нажатии)
Итак, я попытался написать класс адаптера непосредственно для каждой страницы следующим образом:
if (position == 0) {
final View view = LayoutInflater.from(getBaseContext()).inflate(R.layout.item_vp_list, null, false));
final RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.rv);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getBaseContext(), LinearLayoutManager.VERTICAL, false));
recyclerView.setAdapter(new Tab0RecycleAdapter());
container.addView(view);
return view;
}
с верхним кодом, мое приложение снова запускается с помощью свопинга!
Важно ли создавать фрагменты на каждую страницу?
почему я должен использовать фрагмент? (Потому что некоторый программист рекомендовал его в ViewPager)
моего метода (второй метод без фрагмента) является истинным или ложным для реального применения?
(я нуб и это мое первое приложение)