Как изменить цвет текста в моем ListView? - PullRequest
1 голос
/ 06 июля 2019

Я создал класс адаптера, но не знаю, как изменить цвет каждого элемента в просмотре списка. Цвет по умолчанию черный, но я хочу изменить его на белый.

Я не получаю ничего, связанного с цветом, в автозаполнении, когда я печатаю цвет. Я не знаю, стоит ли менять его в 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);
    }

Я хочу, чтобы цвет каждого текстового элемента был беловатым, но я получаю цвет по умолчанию - черный.

1 Ответ

0 голосов
/ 06 июля 2019

Вы можете переопределить метод 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...