我创建了一个适配器类,但是我不知道如何更改列表视图中每个项目的颜色。默认颜色是黑色,但我想将其更改为白色。
当我键入颜色时,在自动完成功能中我没有得到任何与颜色有关的信息。我不知道应该用XML还是Java进行更改。
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
class SongAdaptor extends ArrayAdapter<Song> {
public SongAdaptor(Context context, ArrayList<Song> songs) {
super(context, 0, songs);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View listItemView = convertView;
if (listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
R.layout.list_item, parent, false);
}
我希望每个文本项的颜色都发白,但我得到的默认颜色是黑色。
答案 0 :(得分:0)
您可以覆盖getView()
方法来更改商品的颜色,如下所示:
private void setListView() {
arrayAdapter = new ArrayAdapter<String>(
this,android.R.layout.simple_list_item_1, answerList){
//override getView to change the item text color
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView textView = view.findViewById(android.R.id.text1);
/*YOUR CHOICE OF COLOR*/
textView.setTextColor(getResources().getColor(R.color.secondaryTextColor));
return view;
}
};
listView.setAdapter(answersArayAdapter);
}