我有一个带有许多 AutoCompleteTextView 输入字段的 android 应用程序
他们在我的手机上工作正常,
但是,当应用程序部署到带有物理键盘的手机时,当用户从一个 AutoCompleteTextView 到另一个 AutoCompleteTextView “选项卡”时,他们选择或输入的文本从视图中消失
但是数据仍然存在并持久化到底层数据库
为什么这只会发生在他们的手机上而不是一直发生?
我有一个带有许多 AutoCompleteTextView 输入字段的 android 应用程序
他们在我的手机上工作正常,
但是,当应用程序部署到带有物理键盘的手机时,当用户从一个 AutoCompleteTextView 到另一个 AutoCompleteTextView “选项卡”时,他们选择或输入的文本从视图中消失
但是数据仍然存在并持久化到底层数据库
为什么这只会发生在他们的手机上而不是一直发生?
我在 HTC Desire HD(没有物理键盘)上看到了非常相似的事情。每当 AutoCompleteTextView 失去焦点时,文本似乎就会消失(但仍可通过 getText() 访问)。例如,相同的应用程序在三星 Galaxy SIII 上运行良好。
我认为这与使用样式/主题有关。就我而言,我定义了一个 android:textViewStyle,但没有定义 android:autoCompleteTextViewStyle。为后者添加一个明智的 android:textColor 解决了这个问题。您也可以使用setTextColor。
摘自我的styles.xml:
<style name="myapp" parent="@style/Theme.Sherlock.Light">
<item name="android:textViewStyle">@style/my_text_view</item>
<item name="android:autoCompleteTextViewStyle">@style/my_ac_text_view</item>
[...]
</style>
<style name="my_text_view" parent="@android:style/Widget.TextView">
<item name="android:textColor">@color/my_text_color</item>
</style>
<style name="my_ac_text_view" parent="android:style/Widget.AutoCompleteTextView">
<item name="android:textColor">@color/my_text_color</item>
</style>
我在使用 Desire HD 时遇到了同样的问题。我设置android:textColor="#000000"
为AutoCompleteTextView
,它在不修改任何样式的情况下解决了它。