我正在尝试根据标志更改列表视图中的某些项目文本颜色(或背景颜色)。经过长时间的搜索,我没有找到如何做到这一点,我在改变颜色的具体行动后调用下面的循环:
ListView _listView = (ListView) findViewById(R.id.listView2);
for (int i=0;i<=_listView.getCount();i++)
{
if(Falg == True)
{
//here i want to change the list view item color or backgroud color
}
}
答案 0 :(得分:26)
您可以覆盖Array适配器的getView方法并更改颜色:
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_list_item_1,
myList) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text = (TextView) view.findViewById(android.R.id.text1);
if (flag == True) {
text.setTextColor(Color.BLACK);
}
return view;
}
};
答案 1 :(得分:3)
答案 2 :(得分:3)
创建自定义布局,在该布局中定义颜色。
像这样:
<? xml version="1.0" encoding=" utf-8 "? >
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv"
android:textColor="@color/white" // Here You define your desired color
android:layout_width="fill_parent"
android:gravity="center"
android:layout_height="fill_parent"/>
在适配器中使用此布局,如下所示:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this, R.layout.custom_textview, info);
lv.setAdapter(adapter);
这样您就不需要使用自定义适配器。
答案 3 :(得分:-4)
您可以设置字体颜色样式....如
textView.setText(Html.fromHtml("<b><u>"+string+"<b><u>"));
将文本填充到列表视图中时。