以下是PagerAdapter的示例。 是否有可能获取片段并将其添加到容器中而不是在instantiateItem中编写所有逻辑?
提前致谢
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view=null;
if(position%2==0){
view = activity.getLayoutInflater().inflate(R.layout.pager_item,container, false);
}else{
view = activity.getLayoutInflater().inflate(R.layout.pager_item,container, false);
}
// Add the newly created View to the ViewPager
container.addView(view);
// Retrieve a TextView from the inflated View, and update it's text
TextView title = (TextView) view.findViewById(R.id.item_title);
title.setText(tabs[position]);
// Return the View
return view;
}
答案 0 :(得分:4)
使用FragmentPagerAdapter
(对于将保留在内存中的少量页面)或FragmentStatePagerAdapter
(如果距离当前屏幕太远将保存的大量页面)。您只需覆盖getCount()
和getItem(int position)
,它应该根据位置返回一个新的片段实例。
文档以及用法示例: http://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html http://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html