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

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

 

  ArrayAdapter autoadapter=new ArrayAdapter(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); 

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

Solutions Collecting From Web of "AutoCompleteTextview默认情况下颜色设置为白色"

这是一个记录的bug,

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

自动完成文本视图错误

Bug解决方案

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

我希望它有帮助……

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

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

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

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

我终于通过使用android.R.layout.simple_spinner_dropdown_itemadapter来实现与lollipop和以前的OS版本一起使用的解决方案,如下所示:

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

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

您可以在ArrayAdapter使用simple_list_item_1

 ArrayAdapter autoadapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,cities); city = (AutoCompleteTextView) findViewById(R.id.location); 

另一个解决方案是退出AndroidManifest.xml的样式

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

好吧,我们不能设置“建议文字”颜色,但我们可以改变它的背景! 只需使用android:popupBackground="YOUR_COLOR_HEX" ,如下例所示:

  

也适用于棒棒糖! ;)

你应该用

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

它对我有用:)

设置popup的背景颜色为city.setDropDownBackgroundResource(R.color.indicator);

如果有人仍然有同样的问题

这对我有用

 autocompleteF.setBackgroundColor(color.black); 

将此添加到您的主题:

 @style/Widget.AppCompat.AutoCompleteTextView 

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

 setTheme(android.R.style.TextAppearance_DeviceDefault_Medium_Inverse); 

你必须在values文件夹中的colors.xml中更改一些颜色