自动完成文本视图的文本不可见。

4
在我的AutoCompleteTextView中,在从建议列表中选择一个项目后,文本不可见。我尝试使用setTextColor(android.R.color.black),但它不起作用。在清单文件中,我使用Theme.Light主题。有人有什么想法我该怎么做吗?
提前感谢。
Tiziano

1
改变文本颜色,使用 setTextColor(android.R.color.white) 查看效果。 - Samir Mangroliya
1
背景是白色的,所以什么也不会发生。 - Taziano
资源 res = getResources(); int 颜色 = res.getColor(android.R.color.black); - Dheeresh Singh
谢谢你的回答,但我发现问题不是文本颜色错误。问题在于视图的对齐方式,我将其设置为AlignParentRight true,在删除此规则后,文本可见。很抱歉浪费了你们的时间! - Taziano
在使用actv更改布局后,文本再次不可见,我不知道为什么!Dheeresh Singh的解决方案起作用了! - Taziano
6个回答

5

4
使用android.R.layout.select_dialog_item而不是android.R.layout.simple_dropdown_item_1line,它会正常工作。

1

它将正常工作:

adapter = new ArrayAdapter<String>(getApplicationContext(),
            android.R.layout.simple_dropdown_item_1line, string_resource);
    Resources res = getResources();
    int color = res.getColor(android.R.color.black);
    autoCompleteTextView.setTextColor(color);

    autoCompleteTextView.setAdapter(adapter);

1
创建自定义布局my_dropdown_item.xml:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@android:id/text1"
      style="?android:attr/spinnerDropDownItemStyle"
      android:singleLine="true"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:minHeight="40dip"
      android:ellipsize="marquee"
      android:textColor="#000000"/>

然后使用它:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_dropdown_item, YOURARRAY);

0

还有一种简单的方法,只需将您的AutoCompleteTextView的背景颜色设置为白色。像这样:android:background="@android:color/white"


0

回答由didldum提供 https://code.google.com/p/android/issues/detail?id=5237

通过扩展主题并覆盖输入文本和建议文本的2种样式来解决:

在您的清单中使用扩展主题:... ...

创建新主题(res / values / themes.xml),其中使用固定样式:... @style / AutoCompleteTextViewLight @style / Widget.DropDownItemLight ...

创建修复颜色的样式(res / values / styles.xml):... @android:color / primary_text_light @android:color / primary_text_light


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