android AutoCompleteTextView 白色上的白色下拉列表

Posted

技术标签:

【中文标题】android AutoCompleteTextView 白色上的白色下拉列表【英文标题】:android AutoCompleteTextView white on white Dropdown list 【发布时间】:2011-08-08 06:51:45 【问题描述】:

在这里打破我的头,我在网上搜索了很多,这似乎是之前android上的一个错误,但还没有找到解决方案。

我有一个 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 内置布局和我自己的几种组合。

即使将它指向一个 TextView 资源也用于 Spinner(按预期工作,白色背景上的黑色文本),但没有找到使其工作的方法,继续获得相同的结果

有什么帮助吗?

【问题讨论】:

我也有同样的问题——也是字段本身的文本,但我可以通过设置 android:textColor 来解决这个问题 也有同样的问题。看起来问题出在定义一行的 XML 文件中。我使用了内置的 android.R.layout.simple_list_item_1,但它是白底白字。当我更改为 android.R.layout.simple_dropdown_item_1line 时,我可以看到文本。 我自己刚刚创建了自己的 simple_dropdown_item_1line - 类似资源并在我的代码中使用了它。文字现在是黑色的:) 【参考方案1】:

我遇到了这个问题。使用 android.R.layout.select_dialog_item 进行布局修复它。

【讨论】:

传奇。非常感谢您分享这些信息。你为我节省了很多时间! 我现在在 android.R.layout.select_dialog_item 和 this 上有这个错误,仅适用于我拥有的 2 个自动完成文本视图。我刚刚发现了差异化因素:this 与 context。 我现在可以看到文字,但颜色非常非常浅。【参考方案2】:

所以这是我的问题的答案。

通常,this 和上下文引用并不完全相同。也许是因为上下文引用可能会在某些活动中传递,无论如何。

所以我更改了getApplicationContext(); 在 onCreate() 期间检索“上下文”的那一行(包含在 onClickListener 中)

adapterListModele = new ArrayAdapter<String>(context, android.R.layout.select_dialog_item, listModeleNom);

进入我在课堂上使用 this 的以下行:

adapterListModele = new ArrayAdapter<String>(AncestorVehicule.this, android.R.layout.select_dialog_item, listModeleNom);

而且它有效!没有更多的白色字体。

我在 onclicklistener 回调之外对其进行了测试,发现了两件事:

使用相同的“上下文”变量确实使下拉菜单显示为白色 坚持“this”可以避免这个问题。

希望它可以帮助别人。

【讨论】:

并在片段中获取活动。谢谢!【参考方案3】:

很奇怪...我有 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_
    android:layout_
    android:padding="6dp"
    android:textColor="#000000"
    android:ellipsize="marquee" />

您是否应用了某种类型的主题?

另外...也许文本不是白色的,而是您不小心有空字符串?

【讨论】:

不,当我在模拟器上突出显示(转到橙色 bg / 白色文本)时,每个字符串都在那里并且匹配(这就是我所说的 AutoCompleteTextView 工作的原因),所以不是空字符串。另外,我在 AndroidManifest.xml 中看不到任何主题。我在发帖前看了那些。我也尝试应用 schemas.android.com/apk/res/android" android:layout_ android:layout_ android:padding="10dp" android:textSize="16sp" android:textColor="#000 "> 刚刚开始了一个新项目,并且完全按照我在前一个项目中所做的。现在它出现了。也许是 Eclipse 上的错误? 也许...在原版上,您尝试使用 Project/Clean 吗?在奇怪的情况下,我当然不得不这样做一两次…… 在阳光下尝试了一切。项目/清洁。开始一个新项目,导入前一个项目。纳达。 但是使用完全相同的代码创建了一个新项目(是的,关闭了自动编译,清理了项目,删除了 gen 文件夹的内容,所有这些)。我确实在网上看到了其他人遇到问题的(丢失的 URL)。【参考方案4】:

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

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

最后我把上下文参数改成了“getBaseContext()”,问题就解决了。

【讨论】:

这对我有用!尝试过编辑样式,之前没有用。【参考方案5】:

Here is your answer

 SimpleCursorAdapter ad = new SimpleCursorAdapter(this, android.R.layout.simple_dropdown_item_1line, null,
                new String[]  "item_Name" , new int[] android.R.id.text1 , 2 );

【讨论】:

以上是关于android AutoCompleteTextView 白色上的白色下拉列表的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

android 21 是啥版本

Android逆向-Android基础逆向(2-2)

【Android笔记】android Toast

图解Android - Android核心机制

Android游戏开发大全的目录