问题
我的问题是,在我的 SpinnerArrayAdapter
中更改数据后,我的 Spinner
对 dropDownList
上的项目点击没有反应。
然而,方向改变发生后一切正常(?!)。
编辑:我注意到它确实捕获了项目点击但没有在 Spinner
上表示/显示它。因为在方向更改后,所选项目出现在 Spinner
建筑
我有 AutoCompleteTextView(ACTV)
连接到 AutoCompleteAdapter implementing Filterable
。在 ACTV
中输入一些数据后,结果将传递给连接到 Spinner
的 SpinnerArrayAdapter
。
在 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/