4

我正在使用我自己的Adapter和我自己的Filter来填充AutoCompleteTextView. 一切正常,除了每次我调用notifyDataSetChanged下拉菜单时都关闭然后重新打开新建议(这有点烦人)。

我想要实现的 - 与谷歌的行为相同。当您输入单词时,下拉列表中只会填充新值(无需重新打开)。有什么解决方法吗?

附言

适配器填充Filter#publishResults

@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
    if(results == null) {
        return;
    }

    mAdapter.clear(); //notifyDataSetChanged is NOT called here

    List<?> content = (List<?>) results.values;
    final int size = content.size();
    for(int i=0; i<size; i++) {
        mAdapter.add((City) content.get(i));
    }

    mAdapter.notifyDataSetChanged();
}
4

0 回答 0