【发布时间】:2011-12-26 22:33:45
【问题描述】:
我想通过从 RESTful Web 服务获取列表来定期更改 AutoCompleteTextview 给出的建议,但无法使其顺利运行。我设置了一个硬编码的建议列表,以确保它正常工作:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, new String[] {"Hi", "Ho"});
speciesName.setAdapter(adapter);//my autocomplete tv
我在 textview 上有一个 TextWatcher,当文本更改时,它会启动一个非阻塞调用以获取新的建议列表——这部分获取新列表的工作正常。然后我想重置适配器,如下所示:
public void setOptionsAndUpdate(String[] options) {
Log.d(TAG, "setting options");
//speciesName.setAdapter((ArrayAdapter<String>)null);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, options);
speciesName.setAdapter(adapter);
}
此方法已调用,但不起作用 - 尽管调用了 setAdapter,但建议列表要么消失,要么显示的建议保持不变。
这甚至是正确的方法吗?我查看了SimpleCursorAdapter,但看不到如何将我的网络服务注册为内容提供者。 (它的形式是http://www.blah.com/query?term=XX,其中 XX 是我的应用程序的输入,响应是一个 JSON 字符串数组。)
【问题讨论】:
-
我在这里做类似的事情!!! stackoverflow.com/questions/12854336/…
标签: android autocomplete autocompletetextview