2013-04-04 89 views
1

我有這個佈局,我有一個列表視圖。列表的內容是在另一個佈局中定義的。我在這個佈局中有文本視圖,並且我想根據某些條件動態地改變文本視圖的顏色(就像其他簡單的那樣)。請讓我知道如何做到這一點。 這裏是我的代碼 - :我想動態地改變列表視圖內的文本視圖的顏色

ListAdapter adapter = new SimpleAdapter(this, menuItems, 
       R.layout.recentlist, 
       new String[] { KEY_CAT, KEY_DATE, KEY_TID, KEY_AMO, KEY_DEB,KEY_CUR,KEY_BAL,KEY_FEES}, new int[] { 
       R.id.textView1,R.id.textView2, R.id.textView3, R.id.textView4,R.id.textView5,R.id.textView7,R.id.textView6,R.id.textView8}); 

     setListAdapter(adapter); 

這種特殊的佈局我從另一個XML文件添加採取的TextView放在列表視圖中this.So我不能setTextColor內容,因爲它需要此類的佈局的ID和不是這個佈局。請幫我解決這個問題。

+1

你必須創建自定義adptare並把顏色getView() – 2013-04-04 12:08:27

回答

1

AFAIK您無法使用SimpleAdapter來執行此操作,因爲SimpleAdapter只會將數據集中的數據複製到您的ListView中的TextView中。爲了在運行時處理顏色變化,您應該定義一個CustomArrayAdapter

0

將SimpleAdapter的getView方法擴展到您自己的類中,覆蓋getView方法。裏面getView方法,你可以使用View.findViewById然後做任何你想要與你的TextView

0
TextView tv1 = (TextView) vi.findViewById(R.id.your_textview_id); 
// where vi is convertview 
tv1.setTextColor(Color.BLUE); 
+0

使用適配器設置列表視圖中的文本和用做converview你可以設置你的文字和文字的顏色。 – 2013-04-04 12:17:29

相關問題