2
我創建了一個具有自定義SimpleCursorAdapter的列表視圖。我想要在列表中的第一個元素中放置一個標題。一次可以在屏幕上顯示8個視圖。當我向下滾動到第九個視圖時,第一個元素的標題出現。至少我相信那是發生了什麼。我刪除了列表視圖上方的一個按鈕,允許所有元素出現在屏幕上,只有第一個元素具有標題。Android - 自動回收listview元素?
我相信我每次都會迫使新的觀點被誇大。我已經閱讀了一下convertview,它似乎是你必須手動實現的東西。
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final LayoutInflater inflater = LayoutInflater.from(context);
int position = cursor.getPosition();
View v;
v = inflater.inflate(R.layout.roster_lv_row_entry_with_header, parent, false);
if(position > 0)
v = inflater.inflate(R.layout.roster_lv_row_entry_no_header, parent, false);
return v;
而這似乎解決了這個問題!謝謝。 – 2011-04-17 07:08:37
我遇到問題。我的應用在後臺加載圖像的位置..我在視圖中顯示了三個項目,當我點擊其中一個項目時。他們重漆...我遇到的問題是。該列表視圖正在重用仍在屏幕上的項目。或者看起來如此。 – 2011-04-20 20:49:08
爲了避免這種情況,您應該始終爲convertView參數指定一個新值,因爲它在1.步驟中。這樣它不會緩存和滾動不會導致這種副作用。 – rekaszeru 2011-04-20 20:55:00