我有这个布局,我有一个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>
答案 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);