這個問題與我之前問過的this one有關。Android:直接在viewpager中調用適配器或每頁調用片段?
我創建一個MainActivity.java viewpager這樣的:
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)當我滑動頁面時(用tap buttom是正常的)
所以我試着直接爲每個頁面寫一個Adapter類,像這樣:
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建議吧)
我的方法(不片段第二種方法)是真的還是假的實際應用?
(我是小白,這是我的第一個應用程序)