Подтвердить что ты не робот

Android AutoCompleteTextView белый на белом Выпадающий список

ломая мою голову здесь, я искал в Интернете совсем немного, и кажется, что это была ошибка на Android, но еще не нашли решения.

У меня есть AutoCompleteTextView:

autodesignations = (AutoCompleteTextView) findViewById(R.id.main_autocomp);

adapterShapesAuto = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, shapes);

autodesignations.setAdapter(adapterShapes);

виджет работает, но выпадающий текст всегда белый текст на белом фоне.

Я попытался настроить ресурс для адаптера на несколько комбинаций встроенных макетов Android, а также на свои собственные.

Даже указывая на ресурс TextView, который также используется для Spinner (который работает как ожидается, черный текст на белом фоне), но не нашел способа сделать эту работу, продолжать получать те же результаты

Любая помощь?

4b9b3361

Ответ 1

У меня была эта проблема. Исправлено использование android.R.layout.select_dialog_item для макета.

Ответ 2

Итак, вот ответ на мой вопрос.

Как часто это и контекстная ссылка не совсем одинаковы. Может быть, потому, что ссылка на контекст может передаваться по некоторым видам деятельности.

Итак, я изменил эту строку (которая включена внутри onClickListener), где 'context' извлекается во время onCreate() на getApplicationContext();

adapterListModele = new ArrayAdapter<String>(context, android.R.layout.select_dialog_item, listModeleNom);

в следующую строку, где я использовал это из своего класса:

adapterListModele = new ArrayAdapter<String>(AncestorVehicule.this, android.R.layout.select_dialog_item, listModeleNom);

И это работает! Больше белого шрифта.

Я тестировал его вне обратного вызова onclicklistener и заметил 2 вещи:

  • используя ту же переменную "context", выпадающее меню отображалось в белом
  • придерживается 'this', избегает проблемы.

Надеюсь, это поможет кому-то другому.

Ответ 3

Очень странно... У меня AutoCompleteTextView, который работает отлично. Я обнаружил, что размер выпадающих записей был слишком большим, поэтому я установил свой собственный файл макета ресурса. Глупый вопрос... вы установили textColor в свой xml?

Здесь я использую...

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1"
    android:singleLine="true"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="6dp"
    android:textColor="#000000"
    android:ellipsize="marquee" />

Возможно, у вас есть какая-то тема?

Также... возможно, текст не белый, но вместо этого у вас случайно есть пустые строки?

Ответ 4

Я попытался настроить тему перед setcontext, пробовал использовать другой параметр ресурсов в arrayAdapter и пробовал другую тему, но ничего не помогло.

Затем я изменил контекст с 'this' на 'getApplicationContext', но проблема была постоянной.

Наконец, я изменил параметр контекста на "getBaseContext()", и проблема была решена.

Ответ 5

Вот ваш ответ

 SimpleCursorAdapter ad = new SimpleCursorAdapter(this, android.R.layout.simple_dropdown_item_1line, null,
                new String[] { "item_Name" }, new int[] {android.R.id.text1} , 2 );