비동기 작업이 완료되면 listivew를 어떻게 업데이트합니까? 다음은 샘플 코드이지만 listview는 업데이트되지 않습니다.asynctask 완료 후 listview 업데이트
class CallXML extends AsyncTask<Void, Void, Void> {
int gcid;
int scid;
public CallXML(int gid, int sid) {
// TODO Auto-generated constructor stub
gcid = gid;
scid = sid;
}
protected void onPreExecute() {
}
protected Void doInBackground(Void... arg0) {
// here goes the xml parsing....
}
return null;
}
protected void onPostExecute(String result) {
Log.e("TAG", "In postExecute");
Cursor cur3 = database2.query("Quote", qfield, null, null, null, null, null);
cur3.moveToFirst();
do {
quotesarray.add(cur3.getString(2));
} while (cur3.moveToNext());
if(cur3 != null){
cur3.close();
}
QList.post(new Runnable() {
public void run() {
mAdapter = new CustomAdapter();
mAdapter.notifyDataSetChanged();
QList.setAdapter(mAdapter);
}
});
if (helper2 != null) {
helper2.close();
}
if (database2 != null) {
database2.close();
}
}
}
편집 :
Acutally onPostExecute
가 실행되지 않습니다 why..This 내가 당신은 당신의 코드에서 어댑터에 문자열 항목을 제공하지 않는 asynctask new CallXML(gcid, scid).execute();