动态添加和删除视图到viewpager
在我的应用程序中,用户将从他的数据的单个视图开始。我想添加一个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{ // This holds all the currently displayable views, in order from left to right. 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); }}
另外,我需要实现以下的虚拟方法。我迷失在这里 - 什么叫他们以及他们应该做什么(好吧,getCount很明显)?
public object instantiateItem (ViewGroup pager, int position); public void destroyItem (ViewGroup, int, Object); public int getCount (); public boolean isViewFromObject (View, Object);
什么是ViewGroup参数 - 是不是ViewPager本身的包含组?
isViewFromObject做了什么 - 对象如何首先与视图关联?
添加或删除视图时,我应该调用startUpdate和finishUdate吗?
谢谢。
MYYA
相关分类