在Adapter将数据转换成View时,加入日志的标志

Log.i("yangjiakang", "yanhjiakang"+position);

运行后查看日志只打印出8个数据

验证成功!
这只是验证成功的结果,为了更好的理解Adapter的工作原理,接下来探究的是不用adapter只是动态在布局文件中添加View达到和Adapter一样的效果: 大致的想法是在java代码中准备一些数据填充到自己自定义的一个布局中并将这个布局转换成view然后Add到一个空的容器中,循环实现动态添加。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void setupViews() {
LinearLayout xLayout = (LinearLayout) findViewById(R.id.list);
educationsLayout.removeAllViews();
for (Object o : os) {
View view = getLayoutInflater().inflate(R.layout.item, null);
setupView(view, o);
xLayout.addView(view);
}
}

private void setupView(View view, final Object o) {
((TextView) view.findViewById(R.id.item1))
.setText("someText1");
((TextView) educationView.findViewById(R.id.item2))
.setText("someText2");
}

这种方法仅仅将需要显示的列表显示出来,数据基数不大时勉强可以使用,但是如果