До сих пор я взламывал примеры, чтобы получить представление об API-интерфейсах SDK от Anfroid в целом. Однако я зашел в тупик.
Я пытаюсь надуть LinearLayout двумя TextViews из файла XML. Это будут те виды, которые выложены. Я просто не могу заставить это работать и понять, что я полностью не понимаю, что происходит с кодом.
Посмотрев на источник, я вижу, что метод ViewPager.addNewItem вызывает InstantiateItem из поставляемого адаптера. И addNewItem вызывается в populate(). populate вызывается в ряде других мест.
В любом случае в примере, который я видел, когда метод переопределен для PagerAdapter, вы должны включить вызов AddView в Colletion ViewPager, который передается из viewpager в качестве аргумента.
Если я хочу добавить несколько представлений, я думал, что это будет случай вызова addView несколько раз, но поскольку instantiateItem возвращает объект в ViewPager (в примере, когда он возвращал представление, которое он добавил), я не знаю что вернуть. Я попытался вернуть завышенный вид и многое другое.
Пожалуйста, кто-нибудь может объяснить, что здесь происходит?
Большое значение.
M
@Override
public Object instantiateItem(View collection, int position) {
layout = inflater.inflate(R.layout.animallayout, null);
TextView tv = (TextView) layout.findViewById(R.id.textView1);
tv.setText("1________________>" + position);
TextView tv2 = (TextView) layout.findViewById(R.id.textView2);
tv.setText("2________________>" + position);
((ViewPager) collection).addView(layout);
return layout;
}