Ich habe AsyncTask
Aufruf Web Service. Die gesamte Ansicht bleibt hängen, bis die Aufgabe im Hintergrund beendet wurde. Ich muss den Blick nicht so hängen lassen.Android asyncTask hängt die Ansicht
public ArrayList bindListView() {
ArrayList listViewItems = null;
try {
listViewItems = new NewsPage.GetNews(getActivity(),lastid).execute().get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
return listViewItems;
}
private class GetNews extends AsyncTask<Void, Void, ArrayList> {
Activity activity;
public GetNews(Activity activity) {
this.activity = activity;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected ArrayList<NewsListItem> doInBackground(Void... arg0) {
HttpHandler sh = new HttpHandler();
Log.i("xxxxy", lastid + "");
String jsonStr = sh.makeServiceCall(url + lastid);
if (jsonStr != null) {
try {
JSONArray news = new JSONArray(jsonStr);
for (int i = 0; i < news.length(); i++) {
NewsListItem newsitem = new NewsListItem();
JSONObject c = news.getJSONObject(i);
String title = c.getString("title");
String excerpt = c.getString("excerpt");
String imageUrl = c.getString("thumbnailURL");
imageUrl = genurl + imageUrl;
newsitem.title = title;
newsitem.content = excerpt;
newsitem.imageUrl = imageUrl;
newsitem.id = c.getString("id");
newsList.add(newsitem);
}
} catch (final JSONException e) {
}
} else {
}
return newsList;
}
@Override
protected void onPostExecute(ArrayList result) {
super.onPostExecute(result);
}
}
Post Code .. –
posten Sie Ihre Code bitte ... –