需要为我的 ListView 应用颜色

Need to apply a color to my ListView

在 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); 

但是我想改变文字的颜色。

您正在使用:

android.R.layout.simple_list_item_1

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

android:textColor="#ff0000"

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

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

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

另一种最简单的方法是创建一个布局文件,其中包含您想要的文本视图以及您喜欢的 textSize、textStyle、color 等,然后将其与 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"/>

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

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

希望对您有所帮助。

这样做

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;
    }
};