我想动态更改列表视图中文本视图的颜色

时间:2013-04-04 12:07:03

标签: android listview textview

我有这个布局,我有一个listview。列表的内容在另一个布局中定义。我在此布局中有文本视图,我想根据某些条件动态更改文本视图的颜色(如简单的if if)。请让我知道如何执行此操作。 这是我的代码 - :

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文件中添加了这个特殊的布局,将listview的内容放入this.So我不能通过使用textView来设置textTextColor,因为它接受了这个类的布局而不是这个布局。请帮我解决这个问题。 / p>

3 个答案:

答案 0 :(得分:0)

AFAIK您无法使用SimpleAdapter执行此操作,因为SimpleAdapter仅将数据集中的数据复制到ListView中的TextView。为了在运行时处理颜色更改,您应该定义CustomArrayAdapter

答案 1 :(得分:0)

通过将SimpleAdapter的getView方法扩展到您自己的类来覆盖它。在getView方法中,你可以使用View.findViewById,然后用你的TextView做任何你想做的事情

答案 2 :(得分:0)

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