我AsyncTask
调用Web服务。整个视图挂起,直到任务在后台完成。我需要让视图不像这样挂。的Android的AsyncTask挂认为
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);
}
}
张贴代码.. –
张贴您的代码请... –