Я звоню от webservice
до asynctask
, чтобы вызвать webservice
Я вызываю один метод с именем makeRequest()
в doInBackground()
, я получаю ответ в других методах success()
, В методе успехая обновляю listview
Но я получаю сообщение об ошибке вроде
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views."
Здесь я добавляю свой код. Я звоню synctask
из активности
new MyTask(this,urlAsString,sp).execute();
вот класс Asynctask
class MyTask extends AsyncTask<Void, Void, Void> {
ProgressDialog progress;
String url;
SharedPreferences sp;
HomepageH2desk c;
public MyTask(HomepageH2desk context,String url,SharedPreferences sp) {
this.c = context;
this.url = url;
this.sp = sp;
progress = new ProgressDialog(this.c);
progress.setMessage("Loading...");
}
public void onPreExecute() {
progress.show();
}
public Void doInBackground(Void... unused) {
c.getTickets(url,sp);
return null;
//progress.setMessage("Loading...");
}
public void onPostExecute(Void unused) {
progress.dismiss();
}
}
Здесь я получаю webservice
ответ
public void success(Object result) {
list = (ArrayList<Map<String, String>>) result;
this.adapter.setList(list);
this.adapter.notifyDataSetChanged();
}
listview
не обновляется и показывает ошибку
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
Справкамне решить эту проблему ...