到目前为止,我一直在黑客攻击示例,以便了解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;
}
Run Code Online (Sandbox Code Playgroud)