【问题标题】:How to set the color of a TextView within an ArrayAdapter?如何在 ArrayAdapter 中设置 TextView 的颜色?
【发布时间】:2016-01-12 19:30:48
【问题描述】:

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

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

这是row.xml中的T​​extView:

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

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

【问题讨论】:

  • 您需要一个自定义适配器。
  • @Blackbelt 所说的。有很多教程(谷歌:“Android Custom Listview”),这里有很多回答的问题。

标签: android list colors textview


【解决方案1】:

此代码可能对您有所帮助:

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

【讨论】:

    猜你喜欢
    • 2011-04-09
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 2017-02-04
    • 1970-01-01
    相关资源
    最近更新 更多