3
진행 대화 상자가 나타납니다. 비동기 작업이 완료된 후, doInBackground에서 웹 서비스를 호출하고 XML을 구문 분석합니다. xml이 더 큰 파일 인 경우 활동은 몇 초 동안 기다려야합니다.비동기 작업 진행 대화 상자가 너무 늦게 표시됩니다.
@Override
protected void onPreExecute(){
super.onPreExecute();
completed=false;
this.progressDialog.show();
}
@Override
protected Boolean doInBackground(Integer... params) {
t=HttpHelper.callWebService(url, soapAction,xml);
if (t.equals("")){
return false;
}
else {
try {
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
XMLHelperFile myXmlHelperFile = new XMLHelperFile();
xr.setContentHandler(myXmlHelperFile);
InputSource is = new InputSource(new StringReader(CallWebFile.t));
xr.parse(is);
mesaj = myXmlHelperFile.getParsedData();
completed=true;
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
if (completed==true && progressDialog.isShowing()) progressDialog.dismiss();
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
}
이 whed 통화 기능 \t 공공 CallWebFile (해서 ProgressDialog해서 ProgressDialog, 정수 ID)를 초기화 { \t this.progressDialog 내부
publishProgress(some int value);
으로 publishProgress를 호출 누락 초기화 = progressDialog; \t id = Id; – user1269301더 많은 코드를 게시 할 수 있습니까? – arjoan