我想通過從REST風格的Web服務獲取列表來定期更改AutoCompleteTextview提供的建議,但無法順利進行。我設置的建議硬編碼的列表,以確保它的工作:動態更新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
,但看不到如何將我的web服務註冊爲內容提供者。 (它的形式http://www.blah.com/query?term=XX,其中XX是我的應用程序的輸入,響應是一個字符串JSON陣列。)
我在做類似的事情! http://stackoverflow.com/questions/12854336/autocompletetextview-backed-by-cursorloader – toobsco42