Android 學習筆記--android——listview總結
阿新 • • 發佈:2021-11-27
總結listview:
1、建立-->高度match
2、建立-->行佈局
3、找到listview控制元件
4、初始化資料
5、建立介面卡物件 baseAdapter
getview :決定了顯示的樣式以及內容
查詢當前佈局物件裡面的控制元件
行佈局物件.findviewById()
getCount :決定listview的顯示行數
6、設定介面卡
listview優化:
1、用完全消失的佈局物件去替代即將出現的那個佈局物件
複用行佈局物件 convertView
View inflate = null;
// convertView用來儲存完全消失的那個佈局物件
if(convertView==null){
// 把佈局xml檔案轉換成佈局物件
// 得到佈局轉換器
LayoutInflater layoutInflater = getLayoutInflater();
// 通過佈局轉換器把xml檔案轉換成佈局物件
inflate = layoutInflater.inflate(R.layout.ssa, null);
}else{
//用完全消失的佈局物件去替代即將出現的那個佈局物件
inflate = convertView;
}
2、減少控制元件的查詢次數
//建立一個類,類裡面的屬性就是我們所需的控制元件
//宣告一個ViewHolder物件
ViewHolder holder = null;
if (convertView == null)
{
holder = new ViewHolder();
// 把佈局xml檔案轉換成佈局物件
// 得到佈局轉換器
LayoutInflater layoutInflater = getLayoutInflater();
// 通過佈局轉換器把xml檔案轉換成佈局物件
inflate = layoutInflater.inflate(R.layout.ssa, null);
//找到控制元件物件,然後儲存到holder物件裡面去
holder.textView1 = (TextView) inflate.findViewById(R.id.textView1);
holder.textView2 = (TextView) inflate.findViewById(R.id.textView2);
//把holder放到inflate包裡面去
inflate.setTag(holder);
}
else
{
// 用完全消失的佈局物件去替代即將出現的那個佈局物件
inflate = convertView;
//從inflate物件的包裡面得到holder
holder = (ViewHolder) inflate.getTag();
}
注·:文章來自51CTO部落格作者Samuel_humg