BaseAdapter適配器里有個getView()需要重寫
public View 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);確定他父控件,減少寬高的測算