android開發 BaseAdapter中getView()裡的3個引數的含義

鴨脖發表於2015-04-04
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);確定他父控制元件,減少寬高的測算

相關文章