У меня возникли проблемы с созданием AutoCompleteTextView.AutoCompleteTextView - Исключение произошло во время выполненияFiltering()!
Я пытаюсь показать некоторые данные Json внутри AutoCompleteTextView, но не работает.
Я получаю эти ошибки, когда я пытаюсь написать что-то:
W/Filter(13081): An exception occured during performFiltering()!
W/Filter(13081): java.lang.NullPointerException at java.util.ArrayList.<init>(ArrayList.java:93)
W/Filter(13081): at android.widget.ArrayAdapter$ArrayFilter.performFiltering(ArrayAdapter.java:457)
W/Filter(13081): at android.widget.Filter$RequestHandler.handleMessage(Filter.java:234)
Здесь мой JSon данных
{"results":[{"id":"1","name":"Aveiro"},{"id":"2","name":"Beja"},{"id":"3","name":"Braga"}]}
Мой код:
public class MainActivity extends Activity {
List<String> responseList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AutoCompleteTextView auto1 = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
new HttpGetTask().execute();
}
private class HttpGetTask extends AsyncTask<Void, Void, String> {
String URL = "http://192.168.1.70/example/suggestion.php?name=";
AndroidHttpClient mClient = AndroidHttpClient.newInstance("");
@Override
protected String doInBackground(Void... params) {
HttpGet request = new HttpGet(URL);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
try {
return mClient.execute(request, responseHandler);
} catch (ClientProtocolException exception) {
exception.printStackTrace();
} catch (IOException exception) {
exception.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
try {
JSONArray json = new JSONArray(result);
Log.v("ResponseCity", result);
List<String> responseList = new ArrayList<String>();
for (int i = 0; i < json.length(); i++) {
final JSONObject e = json.getJSONObject(i);
String name = e.getString("name");
responseList.add(name);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (null != mClient)
mClient.close();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_dropdown_item_1line, responseList);
AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.autoCompleteTextView1);
textView.setAdapter(adapter);
}
}
}
Что я делаю неправильно? Благодарю.