Android 如何在ArrayAdapter中设置TextView的颜色?

Android 如何在ArrayAdapter中设置TextView的颜色?,android,list,colors,textview,Android,List,Colors,Textview,我正在尝试设置列表视图中显示的不同文本颜色(TextView)。这是ListView: <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#a0a0a0"/> 这是row.xml中的文本视图: <TextView xmlns:android="http:/

我正在尝试设置列表视图中显示的不同文本颜色(TextView)。这是ListView:

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="#a0a0a0"/>

这是row.xml中的文本视图:

<TextView 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rowtext"
android:layout_width="fill_parent"
android:layout_height="40sp"
android:textSize="15sp"
android:textColor="#a0a0a0"
android:background="#000000"
android:lines="1"
android:singleLine="true"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true" />

下面是列表的填写方式:

ArrayAdapter<String> fileList = new ArrayAdapter<String>(this, R.layout.row, lstItem);
setListAdapter(fileList);
ArrayAdapter fileList=新的ArrayAdapter(this,R.layout.row,lstItem);
setListAdapter(文件列表);

这一切都很好。但是现在,我想让列表中的每个文件都有自己的颜色。这可能吗?

此代码可能会帮助您:

final ListView lv = (ListView)findViewById(R.id.lv);
lv.setAdapter(new BaseAdapter()
{
public View getView(int position, View convertView, ViewGroup parent)
{
    if (convertView == null)
    {
        convertView = new TextView(ListHighlightTestActivity.this);
        convertView.setPadding(10, 10, 10, 10);
        ((TextView)convertView).setTextColor(Color.WHITE);
    }

    convertView.setBackgroundColor((position == curSelected) ? 
        Color.argb(0x80, 0x20, 0xa0, 0x40) : Color.argb(0, 0, 0, 0));
    ((TextView)convertView).setText((String)getItem(position));

    return convertView;
}

public long getItemId(int position)
{
    return position;
}

public Object getItem(int position)
{
    return "item " + position;
}

public int getCount()
{
    return 20;
}
});

你需要一个自定义适配器。@Blackbelt说的。这里有很多教程(谷歌:“Android自定义列表视图”),并回答了很多问题。