我想制作一个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中?
如果是,如何?
答案 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_id
是TextView
的ID,而whiteColoredPosition
是包含您想要为白色的TextView的ListView中的位置。