1
我需要從服務器獲取數據並填充到android的autocompleteTextView中。 我在onPerformFiltering()中獲取並在onPublishResults()中顯示時使用了自定義過濾器。 但我不需要從服務器獲取每個字符的數據Change.I需要爲特定長度的字符執行此操作。 我該怎麼做?自動完成TextView從android中的服務器填充
我需要從服務器獲取數據並填充到android的autocompleteTextView中。 我在onPerformFiltering()中獲取並在onPublishResults()中顯示時使用了自定義過濾器。 但我不需要從服務器獲取每個字符的數據Change.I需要爲特定長度的字符執行此操作。 我該怎麼做?自動完成TextView從android中的服務器填充
class ProcessUpdater extends AsyncTask <Void, Void, Void>{
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("url");
HttpResponse response = httpclient.execute(httpget);
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
String result = sb.toString();
Log.v("My Response :: ", result);
JSONObject jsonObject = new JSONObject(result);
JSONArray resultArray = jsonObject.getJSONArray("Process");
for (int i = 0; i < resultArray.length(); i++) {
JSONObject c = resultArray.getJSONObject(i);
String sbs = c.getString("ProcessCode");
ProcessList.add(sbs);
}
} catch (Exception e) {
// TODO: handle exception
}
return null;
}
@Override
protected void onPostExecute(Void result) {
SelectProcess.setAdapter(new ArrayAdapter<String>(youractivtyname.this, android.R.layout.simple_dropdown_item_1line, ProcessList));
}
}
您可以使用JSON,HttpRequest。檢查我的答案http://stackoverflow.com/questions/8653260/autocomplete-in-android-not-working-with-dynamic-data/9451022#9451022在這個例子中,我使用了Wikipedia Suggest API。 – iNan
非常感謝你的工作,就像一個魅力:)我可以使用任何其他API,而不是維基百科建議API以相同的方式。 –
是的,你可以使用任何其他API,你需要配置一點工作:)因爲JSON結構將從一個API更改爲另一個。 – iNan