(я понял решение - см. мое сообщение в разделе ответов ниже.)
В моем приложении пользователь начнет с одного взгляда на свои данные. Я хотел бы добавить 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 и finalUdate при добавлении или удалении просмотров?
Спасибо.