以下顯示的代碼和截圖顯示listview
中的數據,其中包含3個textview
。無法在getView方法中正確設置背景圖片
我試過getView()
方法Adapter
類中的以下代碼,給背景圖像交替行,即行號。 0,2,4等。
當我嘗試實現這一點時,我得到了如屏幕截圖所示的輸出,即行沒有得到適當的影響。
另外,請參考下面xml
其中alignTop
和alignBottom
參數被使用,仍然在Index
按鈕點擊,第二和第三textview
沒有適當得到背景顏色。
編輯 - 如果我使用顏色代替背景圖片,它適用於除Index
按鈕以外的所有情況。
if (count % 2 == 0) {
try {
InputStream is = ctx.getAssets().open("cellbg.png");
Drawable d = Drawable.createFromStream(is, "cellbg");
holder.txtFirst.setBackgroundDrawable(d);
holder.txtSecond.setBackgroundDrawable(d);
holder.txtThird.setBackgroundDrawable(d);
Log.v("count=", "" + (count++));
} catch (Exception e) {
throw new Error(" exception in TableListAdapter " + e.getMessage());
}
} else {
Log.v("else count==", "" + (count++));
}
列表結構(XML)
<TextView
android:id="@+id/FirstText"
android:layout_width="80dp"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/SecondText"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"/>
<TextView
android:id="@+id/ThirdText"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"/>
第一屏幕顯示在應用程序啓動時,在默認情況下,Gainers
按下按鈕,列表結構。
第2個顯示按下Index
按鈕的實例。
第3個顯示按下索引按鈕後再次按下Gainers
按鈕的實例。
第4個顯示點擊List item
時的佈局。
我在做什麼錯?
任何幫助都將是生命保護!事情
由於一噸BUDDY ...只需添加'holder.l1.setBackgroundDrawable(d);'到位設置背景每個TextView的和它的工作。 但我沒有得到爲什麼我應該設置背景時(計數%2!= 0),因爲在這種情況下,表bg將自動使用。 – GAMA 2012-01-07 07:31:00
這一切都取決於你的getView方法......爲了讓它更快,你應該重用視圖(這就是convertView參數),在這種情況下,你應該始終設置背景,因爲你不知道你會得到什麼。 – Matthieu 2012-01-07 07:35:41
但是如果我想爲每個文本框分配不同的背景圖片呢? – GAMA 2012-01-07 07:38:26