我的AutoCompleteTextView的文本颜色总是白色。

4
由于某些原因,无论我做什么,我的AutoCompleteTextView中的文本总是白色的。我已经在XML中明确将textColor设置为黑色。我想知道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" />

1
这个主题对你有帮助吗?试一下! - diegocmaia
尝试使用此解决方案:点击此处 - Kiran Kumar
3个回答

3

是的,看起来我得进行一些挖掘了,但是知道这实际上是一项已记录的 bug,真是太好了。谢谢! - Martin Erlic

1

补充一下,如果有人仍在寻找答案,则可以提供自定义布局以作为自动完成建议的解决方案,因为这不是一个错误。具体做法如下:

更改以下代码行

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

to

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" />

0

将下拉项视图的默认布局更改为您自己的自定义布局,其中仅包含TextView:

示例(使用Kotlin)-

在以下行中替换android.R.layout.select_dialog_item:

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

至:

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"
/>

希望这能帮助到某些人! 编程愉快 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接