我添加TextChangedListener
到AutocompleteTextView
. 在TextChangedListener
'safterTextChanged()
我调用AsyncTask
which 从 web 加载数据(在活动开始时加载所有数据不是一个选项,因为列表可能非常大,所以它只是浪费流量)。
AsyncTask
的onPostExecute()
样子(我用ArrayAdapter
):
@Override
protected void onPostExecute(ArrayList<Subregion> result)
{
super.onPostExecute(result);
if (result != null)
{
adapter.clear();
for (Iterator<Subregion> iterator = result.iterator(); iterator.hasNext();)
{
Subregion subregion = iterator.next();
adapter.add(subregion);
}
adapter.notifyDataSetChanged();
autocompleteTextView.showDropDown();
}
}
Subregion
是我的自定义对象,被覆盖toString()
。我希望我的程序在用户开始输入时开始加载数据,并在接收和解析结果时立即显示结果。
我的问题:
autocompleteTextView.showDropDown()
没有效果。onPostExecute()
接收到正确的数据列表,它们被添加到适配器,但showDropDown()
不显示下拉列表。怎么了?