到目前为止,我一直在拼凑一些示例,以了解整个 Android SDK 的 API。然而,我陷入了僵局。
我正在尝试使用 XML 文件中的 2 个 TextView 来膨胀 LinearLayout。这些将是被分页的视图。我根本无法让它工作,并意识到我完全不明白代码发生了什么。
查看源代码,我可以看到 ViewPager.addNewItem 方法从提供的适配器调用 InstantiateItem。并且 addNewItem 被调用populate()
。populate() 在许多其他地方被调用。
无论如何,在示例中,我已经体验到,当为 PagerAdapter 重写该方法时,必须包含对从作为参数addView()
传递的 ViewPager 集合的调用。ViewPager
如果我想添加多个视图,我认为这将是多次调用 addView() 的情况,但是由于 instantiateItem() 返回一个 Object 给 ViewPager (在示例中我让它返回它添加的视图)我不知道要返回什么。我试过返回膨胀的视图和其他一些东西。
请,有人可以解释这里发生了什么吗?
非常感激。
@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;
}