有人可以告訴我什麼convertView
參數用於Adapter
類的getView()
方法嗎?什麼是ArrayAdapter中的「convertView」參數getView()方法
下面是here一個示例代碼看法:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
Order o = items.get(position);
if (o != null) {
TextView tt = (TextView) v.findViewById(R.id.toptext);
TextView bt = (TextView) v.findViewById(R.id.bottomtext);
if (tt != null) {
tt.setText("Name: "+o.getOrderName()); }
if(bt != null){
bt.setText("Status: "+ o.getOrderStatus());
}
}
return v;
}
,我們應該通過convertView
傳遞什麼?
什麼我發現,take from here:
把那在 數據集的指定位置顯示的數據視圖。您可以手動創建視圖,也可以從 XML佈局文件中對其進行充氣。當視圖膨脹時,父視圖(GridView,GridView, ListView ...)將應用默認佈局參數,除非您使用膨脹(int,android.view.ViewGroup,布爾值)來指定根視圖 並防止附件根。
參數
位置 - 項目的適配器的數據集,我們希望其觀點的項目中的位置。
convertView - 舊的視圖重用,如果可能的話。注意:您應該在 正在使用之前檢查該視圖是否爲非空和適當的類型。如果無法將此視圖轉換爲顯示 正確的數據,則此方法可以創建新視圖。
父 - 在指定位置相對應的數據的視圖 - 這個視圖最終將被附連到返回
返回父。
我不太明白這一點「當用戶滾動一個新的視圖應該被創建,所以爲了提高性能,ListView向適配器發送一箇舊視圖,它不再在convertView參數中使用它。」你說`ListView`不會一次填充所有視圖? – Tarik 2010-12-07 22:20:41