AutoCompleteTextview默认情况下颜色设置为白色

时间:2011-12-12 06:48:34

标签: android colors autocompletetextview

我在我的Android应用程序中使用了AutoCompleteTextView,它运行正常。我面临的唯一问题是默认情况下建议的颜色是白色的,我无法看到任何建议。因此,当我开始输入内容时,列表会扩展为带有白色条目(不可见),但是当我点击任何项目时,我发现它的工作原理应该是这样。只有颜色似乎是问题。我使用以下代码。

<AutoCompleteTextView android:id="@+id/location"  android:textColor="#000000"
            android:layout_width="fill_parent" android:layout_height="wrap_content"></AutoCompleteTextView>

 ArrayAdapter<String> autoadapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,cities);
            city = (AutoCompleteTextView) findViewById(R.id.location);
            city.setAdapter(autoadapter);
            city.setThreshold(1);
            city.setTextColor(Color.BLACK);

有谁能告诉我这是什么问题? - 提前谢谢

10 个答案:

答案 0 :(得分:15)

这是一个记录错误,

您可以找到一些方法在同一个链接中修复它。

Auto complete text view bug

Bug solution

注意:此解决方案不适用于lollipop

我希望它有所帮助...

答案 1 :(得分:11)

我尝试在setcontext之前设置主题,在arrayAdapter中尝试了不同的资源参数并尝试了不同的主题,但没有任何帮助。

然后我将上下文从'this'更改为'getApplicationContext',但问题仍然存在。

最后我将context参数更改为“getBaseContext()”,问题解决了。

答案 2 :(得分:7)

对于 Lollipop ,报告的bug中解决方案的所有工作都不起作用。

我终于找到了一个适用于lollipop以及之前操作系统版本的解决方案,使用android.R.layout.simple_spinner_dropdown_item代替adapter代替以下内容:

ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_dropdown_item, suggestionList);

这将解决白色文本问题,无需更改主题属性或任何内容。

答案 3 :(得分:3)

您可以在simple_list_item_1

中使用ArrayAdapter
ArrayAdapter<String> autoadapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,cities);
            city = (AutoCompleteTextView) findViewById(R.id.location);

另一种解决方案是退出AndroidManifest.xml

中的样式

注意:此解决方案不适用于lollipop操作系统版本

答案 4 :(得分:3)

好吧,我们无法设置&#34;建议文字&#34;颜色,但我们可以改变它的背景!只需使用此示例中的android:popupBackground="YOUR_COLOR_HEX"

<AutoCompleteTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/autocompletetextview"
        android:layout_gravity="center_horizontal"
        android:hint=" ... "
        android:popupBackground="#000000"/>

也适用于棒棒糖! ;)

答案 5 :(得分:1)

你应该使用

setTheme(android.R.style.Theme); 之前 setContentView

它对我有用:)

答案 6 :(得分:1)

将弹出窗口的背景颜色设置为city.setDropDownBackgroundResource(R.color.indicator);

答案 7 :(得分:1)

如果还有人有同样的问题

这对我有用

autocompleteF.setBackgroundColor(color.black);

答案 8 :(得分:0)

将此添加到您的主题:

<item name="android:autoCompleteTextViewStyle">@style/Widget.AppCompat.AutoCompleteTextView</item>

答案 9 :(得分:0)

这对我有用首先使用之前的 setContentView()

setTheme(android.R.style.TextAppearance_DeviceDefault_Medium_Inverse);

你必须在values文件夹

中的colors.xml中更改一些颜色