失去焦点时的AutoCompleteTextView问题

9

我在我的活动中使用了AutoCompleteTextView,它的功能表现正常。正确的条目显示在下拉框中等。问题是当视图失去焦点时,文本不再可见。当重新获得焦点时,文本又可见了。

有其他人遇到过这个问题吗?这是一个bug还是我做错了什么?


3
原文:It turns out this is a bug in the android light theme. Workaround available here http://code.google.com/p/android/issues/detail?id=5237翻译:原来这是 Android 浅色主题中的一个漏洞。可在此处找到解决方法:http://code.google.com/p/android/issues/detail?id=5237。 - AverageMarcus
2
哇,只需在您的AutoCompleteTextView布局的XML中添加“android:textColor =”@android:color/primary_text_light“”,就像这样简单。 - Nuthatch
@Nuthatch 谢谢。我刚刚花了两天时间与同样的问题作斗争。 :) - Pawel
2个回答

0

也许当你不关注该项时,TextColor与当前主题的背景颜色相同。因此,您无法看到它们,只能看到您关注的项目文本。

解决方法:设置与background_color不同的颜色。 在创建适配器时,您可以使用android.R.layout.simple_dropdown_item_1line等,或者自己的textViewResourceId:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:textSize="20dp"
   android:gravity="center_vertical" 
   android:id="@android:id/text1" 
   android:paddingLeft="6.0dip" 
   android:paddingRight="6.0dip" 
   android:layout_width="fill_parent" 
   android:layout_height="50.0dip"
   android:textColor="@android:color/black"
   android:textColorHighlight="@android:color/black"    />

这意味着在当前设备主题中使用“黑色”是合适的。如果您想要“深色文本在浅色背景上”,则使用“primary_text_light”更为安全。 - Nuthatch

0

设置TextView的文本颜色就像轻而易举的一件事情一样。

 <AutoCompleteTextView
         android:layout_width="120dip"
         android:layout_height="wrap_content"
         android:singleLine="true"
         android:ems="10"
         android:textColor="@android:color/black" />

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