android的getView()、getItem()、notifyDataSetChanged()函数

来源:互联网 发布:java基础笔试题 编辑:程序博客网 时间:2024/06/06 20:24

1、getView(int position,View converView,ViewGroup parent)

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);确定他父控件,减少宽高的测算
######################################

2、getItem(int position)

position这个参数从哪里来?
写的listView单击了哪个,就传哪个的位置,也相当于的一个回调,这些都是系统完成的,所以这个您不用考虑那么多。
######################################
3、notifyDataSetChanged
notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容。


0 0
原创粉丝点击