我有一個ListView和一個適配器。簡單的getView
代碼可以在下面找到。適配器converView有時爲空
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
Log.d("mzule", "convertView is null " + position);
convertView = mInflater.inflate(R.layout.item_cheap_layout, null);
}
return convertView;
}
當我構建和運行應用程序。我下面有日誌。
D/mzule (25020): converView is null a 0
D/mzule (25020): converView is null a 1
D/mzule (25020): converView is null a 2
D/mzule (25020): converView is null a 3
D/mzule (25020): converView is null a 4
D/mzule (25020): converView is null a 5
D/mzule (25020): converView is null a 16
D/mzule (25020): converView is null a 32
D/mzule (25020): converView is null a 47
D/mzule (25020): converView is null a 38
很明顯,以前的6個converView是空的。但我不明白爲什麼16,32,47和38th convertView爲null。它使我的ListView laggy。
似乎沒有人得到的問題...我的假設是,你明白的回收... **任何機會,項目的高度可能會不同?** – Selvin
@Selvin是的,不同的一些物品的高度。它會影響convertView?我應該爲不同的高度項目使用不同的viewType嗎? –
*它會影響到convertView?*恕我直言,是的...只是按照這樣的例子...從0到14高度的項目是2 ...所以有5個可見項目和1個需要過渡(fx那裏4個完整的可見項和2個部分 - 第一個和最後一個)...現在第15行的高度是1.5 .... listview需要一個更多...在31有2(或3)行需要1.5 ...等.... *我應該使用不同的viewType作爲不同的高度項目嗎?*如果視圖不完全不同,那麼不... ...它使我的ListView laggy * ... <=關於這個部分...我不認爲如果「convertView爲空」將是問題... – Selvin