Android 如何在ArrayAdapter中设置TextView的颜色?
我正在尝试设置列表视图中显示的不同文本颜色(TextView)。这是ListView: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:/
<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自定义列表视图”),并回答了很多问题。