相关疑难解决方法(0)

ViewrAdapter中的instantiateItem(ViewGroup,int)和ViewPager中的AddView混淆

到目前为止,我一直在黑客攻击示例,以便了解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)

layout android android-viewpager

22
推荐指数
2
解决办法
6万
查看次数

标签 统计

android ×1

android-viewpager ×1

layout ×1