textColor моего AutoCompleteTextView всегда белый

По какой-то причине, независимо от того, что я делаю, текст, появляющийся в моем AutoCompleteTextView, всегда белый. Я явно установил для textColor черный цвет в своем XML. Мне интересно, является ли android.R.layout.simple_list_item_1 белым по умолчанию?

Здесь я настроил свой ArrayAdapter:

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, strings);
                    AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.searchUserTextField);
                    textView.setAdapter(adapter);

Вот мой XML:

<AutoCompleteTextView
            android:layout_width="match_parent"
            android:layout_height="65dp"
            android:background="@drawable/edittext_border"
            android:layout_gravity="top"
            android:textColor="#000000"
            android:hint="@string/search_user"
            android:id="@+id/searchUserTextField"
            android:ems="150"
            android:paddingLeft="25dp"
            android:paddingTop="10dp"
            android:paddingRight="10dp"
            android:paddingBottom="10dp"
            android:maxLines ="4"
            android:maxLength ="150"
            android:scrollHorizontally="false"
            android:typeface="sans"
            android:textSize="14sp"
            android:fontFamily="sans-serif-light"
            android:capitalize="none"
            android:inputType="textEmailAddress"
            android:gravity="center_vertical"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_toLeftOf="@+id/submitSearch"
            android:layout_toStartOf="@+id/submitSearch" />

person Martin Erlic    schedule 16.12.2015    source источник
comment
Помогает ли вам эта тема? Попытайся!   -  person diegocmaia    schedule 16.12.2015
comment
Попробуйте это для решения введите здесь описание ссылки   -  person Kiran Kumar    schedule 16.12.2015


Ответы (3)


Похоже, это зарегистрированная ошибка в AOSP. Вы можете найти дополнительную информацию, а также обходные пути в этом сообщении Цвет AutoCompleteTextview установлен белый по умолчанию

person Charles Durham    schedule 16.12.2015
comment
Да, похоже, мне придется немного покопаться, но приятно знать, что на самом деле это зарегистрированная ошибка. Спасибо! - person Martin Erlic; 16.12.2015

Просто добавлю, если кто-то все еще ищет ответ, который работает, поскольку это не ошибка, но вы можете предоставить свой собственный макет для предложений автозаполнения следующим образом:

Изменить эту строку кода

final ArrayAdapter<String> adapter = new ArrayAdapter<String (getApplicationContext(), android.R.layout.simple_list_item_1, strings);

в

final ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.custom_autocomplete, strings);

Создайте файл ресурсов макета как custom_autocomplete.xml и укажите необходимые параметры. Рабочий шаблон

<?xml version="1.0" encoding="utf-8"?>
    <TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/colorPrimary"
        android:background="@color/white"
        android:paddingHorizontal="10dp"
        android:paddingVertical="15dp" />
person Deven    schedule 30.11.2019

Измените макет по умолчанию для раскрывающегося списка элементов на свой собственный макет, содержащий только TextView:

Пример (в Котлине) -

Замените android.R.layout.select_dialog_item в строке:

val adapter: ArrayAdapter<String> = ArrayAdapter<String>(this, android.R.layout.select_dialog_item,gender)

To:

val adapter: ArrayAdapter<String> = ArrayAdapter<String>(this, R.layout.item_drop_down,gender)

где пол:

private var gender :Array<String> = arrayOf("Male", "Female", "Others")

Вот файл пользовательского макета: item_drop_down

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/appBlue"
android:gravity="center_vertical"
android:paddingStart="14dip"
android:paddingEnd="15dip"
android:ellipsize="marquee"
android:textSize="@dimen/sp_15"
/>

Надеюсь, это может помочь кому-то! Удачного кодирования :)

person Shivani Rastogi    schedule 17.06.2020