如何在保持字符状态的情况下动态地向自动完成文本视图添加建议
问题描述:
我面临一些问题,在AutoCompleteTextView中,我必须在每个按键之后显示建议。问题是,建议列表是动态的,就像Google的建议功能一样。这意味着新的建议应该添加,因为用户不断输入加上所有匹配的旧建议应该显示。
例如
我写了“te”,然后它应该显示以前的建议,如“test 1”和“test 2”,以及我将从WebAPI获得的新建议。假设WebAPI给了我“茶”和“紧张”这个词。
现在,AutoCompleteTextView将以“te”作为字符串,下面显示了所有四个建议。
这正是我要找的。
看起来很简单,但却显示出一种奇怪的行为。
我使用的是默认的ArrayAdapter类实例,我正在全局声明该类实例。
arrayAdapter=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,suggestions);word.setAdapter(arrayAdapter);
建议是ArrayList。
从WebApi获得新结果后,我只需调用
arrayAdapter.notifyDataSetChanged();
刷新附带的数据观察者和视图(在本例中是AutoCompleteListView)。
但它结束了一些建议。
当我不使用notifyDataSetChanged();
它显示了所有的建议,不管我输入了什么字符。
我尝试过使用自定义筛选器,但它们都没有帮助,因为我不能使用international fyDataSetChanged()。
我正在张贴一个图片,以避免混淆。

我很困惑为什么notifyDataSetChanged();
不起作用了。我没有使用具有相同arrayAdapter实例的列表的任何其他引用。我真的很怀疑这是否是一个参考问题。