android - 微调器不显示所选项目

标签 android

问题

我的问题是,在我的 SpinnerArrayAdapter 中更改数据后,我的 SpinnerdropDownList 上的项目点击没有反应。 然而,方向改变发生后一切正常(?!)。 编辑:我注意到它确实捕获了项目点击但没有在 Spinner 上表示/显示它。因为在方向更改后,所选项目出现在 Spinner

建筑

我有 AutoCompleteTextView(ACTV) 连接到 AutoCompleteAdapter implementing Filterable。在 ACTV 中输入一些数据后,结果将传递给连接到 SpinnerSpinnerArrayAdapter

AutoCompleteAdapter 上设置了一个 customListener,它连接到 SpinnerArrayAdapter 并负责在它们之间传递数据。

这种结构背后的原因是用户可以有两步选择。当从 ACTV 中选择数据时,第一个出现在下拉列表中,第二个出现在他改变主意的情况下。 因此,您可以将 POSTCODE 放入 ACTV 选择连接的省份,并在您错过/改变主意时更改省份,而无需再次输入 POSTCODE。

代码

这是负责 SpinnerArrayAdapter 内部数据变化的部分。

@Override
public void setCitiesFromPostcode(ArrayList<String> cities) {
    this.clear();
    this.addAll(cities);
    notifyDataSetChanged();
}

最佳答案

我对 ArrayAdapter 也有类似的问题。我只是将其更改为 BaseAdapter 并且它可以正常工作。真的不知道原因是什么,但它在 ArrayAdapter 的实现中的某个地方。

关于android - 微调器不显示所选项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27013870/

相关文章:

android - 通知点击显示当前 Activity ,如果应用程序关闭启动新 Activity

android - 将 PDF 转换为图像(具有适当的格式)

android - l 预览 : Call requires API level 21 (current min is 20)

java - 使用 android studio 找不到 jvm,已设置 JAVA_HOME

android - 触摸屏幕时移动 View

android - Commit 上的数据未保存在共享首选项中

java - 比较 hashmap 键中的 ArrayList

android/view/view$onUnhandledKeyEventListener(onMeasure 错误)

android - 对记事本示例中的 Activity 生命周期使用感到困惑

java - 在android中缩进TextView文本