在程序中,用户会使用数据的单一视图开启。我想添加一个 ViewPager ,并且允许用户添加所要求的更多的视图。如何实现?但是我不想使用 FragmentPagerAdapter。
MainActivity 创建一个 ViewPager 和 PagerAdapter:
ViewPager pager = null;
MainPagerAdapter adapter = null;
public void onCreate (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);
pager = new ViewPager (this);
setContentView (pager);
adapter = new MainPagerAdapter();
pager.setAdapter (adapter);
View v0 = code_to_create_initial_view();
adapter.add (v0, 0);
}
使用一个 PagerAdapter 来提供视图集。我需要添加和移除视图。 ViewPager的改变:
class MainPagerAdapter extends PagerAdapter
{
// 这包含了所有目前可显示的视图,从左到右的顺序
private ArrayList<View> views = new ArrayList<View>();
public void addView (View v, int position)
{
views.add (position, v);
}
public void removeView (int position)
{
views.remove (position);
}
}
此外,我需要实现下面的虚拟方法。
public object instantiateItem (ViewGroup pager, int position);
public void destroyItem (ViewGroup, int, Object);
public int getCount ();
public boolean isViewFromObject (View, Object);
ViewGroup params是用来做什么的?是包含 ViewPager 吗?
isViewFromObject是用来做什么的呢?一个对象和一个视图如何结合?
当添加或删除视图时,是否要调用 startUpdate 和 finishUdate?