3 回答
TA贡献1765条经验 获得超5个赞
Listview的layout_height 是否为自适应:wrap_content,
这个情况下,listview没办法确定用多少item的view来填充它自己,这迫使listview多次测量它的子元素。
所以会重复执行getView()
TA贡献1773条经验 获得超3个赞
int position位置,一般BaseAdapter都是很多类型一样的数据展示在界面,该属性是判断显示在界面上的是第几个,通过position在BaseAdapter自定义的数组或者集合中取值。并展示在界面上。
View converView 展示在界面上的一个item。因为手机屏幕就那么大,所以一次展示给用户看见的内容是固定的,如果你List中有1000条数据,不应该new1000个converView,那样内存肯定不足,应该学会控件重用,滑出屏幕的converView就在下面新进来的item中重新使用,只是修改下他展示的值
代码如下:
View v = null;
if (convertView == null) {
v = LayoutInflater.from(context).inflate(
R.layout.adapter__item, parent, false);
Holder vh = new Holder();
vh.text = (TextView) v.findViewById(R.id.text1);
v.setTag(vh);
} else {
v = convertView;
}
Holder vh = (Holder) v.getTag();
vh.text.setText(data[position]);
return v;
ViewGroup parent 这个属性是加载xml视图时使用。
inflate(R.layout.adapter__item, parent, false);确定他父控件,减少宽高的测算
- 3 回答
- 0 关注
- 311 浏览
添加回答
举报