AutoCompleteTextView在使用ActionBarSherlock主题时无法正确显示文本。

3
我正在使用ActionBarSherlock和Theme.Sherlock.Light.DarkActionBar主题,但我的AutoCompleteTextView中的文本与背景颜色相同。我尝试了调用setTextColor()并传递黑色引用的int值,但似乎没有任何差别。
这是已知的bug吗?还是未知的bug?或者是我漏掉了什么?
下面是一个截图,显示当选中时它的外观,这表明它不仅仅是与背景颜色相同的情况:
2个回答

4

你是否在适配器中使用getSupportActionBar().getThemedContext()来填充视图?由于颜色被反转,操作栏上下文与常规上下文不同。


我之前没有注意到,但现在已经修复了。现在自动完成下拉文本的颜色是正确的(黑色),但是文本视图中的文本仍然与背景颜色相同 - 如果这有意义的话。 - Paul Hunnisett
我已经尝试过不同的主题,但都没有成功。我还附上了一张截图,让你可以看到选中文本时的效果,这表明问题可能不在于文本颜色,而是文本本身是不可见的... - Paul Hunnisett
好的 - 基于你给我的提示,我已经修复了这个问题。我按照你建议的方法解决了下拉文本的问题,但是TextView的文本还没有解决。加入Resources res = getSupportActionBar().getThemedContext().getResources(); int black = res.getColor(android.R.color.black);并使用这个int来设置自动完成文本视图的文本颜色,问题得到了解决。 - Paul Hunnisett
我以为你是要把“AutoCompleteTextView”放在操作栏里。如果你不是这么做的话,那么这就是一个Android的bug,跟ABS没有真正的关系。 - Jake Wharton
奇怪的是,我现在发现我的“修复”只适用于Gingerbread及更低版本。在ICS和Jelly Bean中(我还没有尝试过Honeycomb),字段中的文本显示为黑色 - 但下拉列表中的文本仍然是白色的。您确定这不是ABS主题的问题吗? - Paul Hunnisett
@JakeWharton,你能否请帮忙审核一下我提出的问题 - https://dev59.com/eG_Xa4cB1Zd3GeqP2IUP - 我已经提供了一个简单的方法来重现这个错误(验证它在你所提供的库的示例项目中也会发生)。谢谢! - nikib3ro

3

谢谢!你的建议真的帮了我大忙!你是否遇到过扩展现有控件(如扩展EditText)时遇到相同的问题?如果是,你是如何解决的?如果没有 - 再次感谢你的答案! - nikib3ro

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