在这里打破了我的脑袋,我在网上搜索了很多,看来这是Android上的一个bug,但还没有找到解决方案。
我有一个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内置布局的几种组合&amp;也是我自己的。
甚至将它指向一个TextView资源,它也用于Spinner(按预期工作,白色背景上的黑色文本),但发现无法使其工作,不断获得相同的结果
任何帮助?
答案 0 :(得分:21)
我有这个问题。修复它使用android.R.layout.select_dialog_item进行布局。
答案 1 :(得分:3)
所以这是我的问题的答案。
通常,此和上下文引用不完全相同。也许是因为上下文引用可能会传递给某些活动,无论如何。
所以我更改了那行(包含在onClickListener中),其中&#39; context&#39;在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 :(得分:1)
非常奇怪......我有AutoCompleteTextView的工作正常。我发现下拉条目的大小太大,所以我最终设置了自己的资源布局文件。愚蠢的问题......你在xml中设置了textColor吗?
这是我用的......
<?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" />
您是否应用了某种类型的主题?
另外......也许文字不是白色的,而是你不小心有空字符串?
答案 3 :(得分:1)
我尝试在setcontext之前设置主题,在arrayAdapter中尝试了不同的资源参数并尝试了不同的主题,但没有任何帮助。
然后我将上下文从'this'更改为'getApplicationContext',但问题仍然存在。
最后我将context参数更改为“getBaseContext()”,问题解决了。
答案 4 :(得分:0)
SimpleCursorAdapter ad = new SimpleCursorAdapter(this, android.R.layout.simple_dropdown_item_1line, null,
new String[] { "item_Name" }, new int[] {android.R.id.text1} , 2 );