3 回答
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊
Listview的layout_height 是否為自適應(yīng):wrap_content,
這個(gè)情況下,listview沒(méi)辦法確定用多少item的view來(lái)填充它自己,這迫使listview多次測(cè)量它的子元素。
所以會(huì)重復(fù)執(zhí)行g(shù)etView()
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
int position位置,一般BaseAdapter都是很多類型一樣的數(shù)據(jù)展示在界面,該屬性是判斷顯示在界面上的是第幾個(gè),通過(guò)position在BaseAdapter自定義的數(shù)組或者集合中取值。并展示在界面上。
View converView 展示在界面上的一個(gè)item。因?yàn)?a >手機(jī)屏幕就那么大,所以一次展示給用戶看見(jiàn)的內(nèi)容是固定的,如果你List中有1000條數(shù)據(jù),不應(yīng)該new1000個(gè)converView,那樣內(nèi)存肯定不足,應(yīng)該學(xué)會(huì)控件重用,滑出屏幕的converView就在下面新進(jìn)來(lái)的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 這個(gè)屬性是加載xml視圖時(shí)使用。
inflate(R.layout.adapter__item, parent, false);確定他父控件,減少寬高的測(cè)算
- 3 回答
- 0 關(guān)注
- 651 瀏覽
添加回答
舉報(bào)
