需要将颜色应用于我的ListView

时间:2015-01-06 08:07:25

标签: android listview android-listview colors android-arrayadapter

在android中我想将一种颜色应用到我的ListView。

以下是ListView

listView = (ListView) findViewById (R.id.listView1)

和我的适配器显示列表:

adapter = new ArrayAdapter <String> (this, android.R.layout.simple_list_item_1,
ArrayofName);
listView.setAdapter (adapter);

我的变量包含颜色:int textColor。我怎么能这样做?例如,您可以像这样更改列表的背景:

listView.setBackgroundColor(textColor); 

但我想改变文字的颜色。

3 个答案:

答案 0 :(得分:0)

你正在使用:

android.R.layout.simple_list_item_1

使用带有ID mytextview1的textview创建一个新的XML文件your_custom_layout.xml,并将XML中的文本颜色设置为

android:textColor="#ff0000"

然后像这样设置你的适配器:

setListAdapter(new ArrayAdapter<String>(this, R.layout.your_custom_layout, R.id.mytextview1, ArrayofName));

答案 1 :(得分:0)

您需要使用自定义TextView xml来更改ListView项目中的文本颜色。

另一种最简单的方法是使用textSize,textStyle,color等创建一个包含所需textview的布局文件,然后将其与ArrayAdapter一起使用。

<强> list_text.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textview"
    android:textColor="@color/mycolor"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

更改您的代码以使用此textview而不是simple_list_item_1,如下所示:

adapter = new ArrayAdapter <String> (this, android.R.layout.list_text,
ArrayofName);
listView.setAdapter (adapter);

希望这有帮助。

答案 2 :(得分:0)

这样做

dataAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1, allData) {
    @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);

        text.setTextColor(Color.parseColor("#FBB117"));

        return view;
    }
};