更改ListView的一行颜色

时间:2017-01-11 15:20:50

标签: android listview android-text-color

我想制作一个ListView,其中包含WHITE文字颜色的元素和其他一些BLACK文字颜色的元素。

以下是我的代码:

ArrayAdapter<String> arrayAdapter =
new ArrayAdapter<String>(My_Activity.this, R.layout.row_lay, R.id.textViewList, myarray);
listLead.setAdapter(arrayAdapter);

我可以修改R.layout.row_lay的TextColor,但这会更改ListView的所有Line的颜色。我怎么能做一个颜色和另一个颜色? 有可能实现吗?不同的TextColor在同一个ListView中?

如果是,如何?

2 个答案:

答案 0 :(得分:2)

您将覆盖ArrayAdapter

ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(My_Activity.this, R.layout.row_lay, R.id.textViewList, myarray) { @Override public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); //your condition logic v.setBackgroundColor(yourColor); return v; } }; 方法
task_acks_late=True

答案 1 :(得分:1)

创建一个扩展ArrayAdapter的自定义适配器类,并覆盖getView,如下所示:

@Override
public View getView(int position, View convertView, ViewGroup parent){
    View v = super.getView(position, convertView, parent);

    TextView text = (TextView) v.findViewById(R.id.my_textview_id);
    if (position == whiteColoredPosition){
        text.setTextColor(Color.WHITE);
    } else {
        text.setTextColor(Color.BLACK);
    }

    return v;
}

R.id.my_textview_idTextView的ID,而whiteColoredPosition是包含您想要为白色的TextView的ListView中的位置。

相关问题