AsyncTask에서 일부 처리를 수행하는 일부 코드가 있습니다. 실행되는 동안 진행률 대화 상자를 표시하고 싶습니다. 다양한 지점에서 메시지를 업데이트하기를 원했지만 약간의 문제가 있습니다. Heres는 지금까지 무엇을 :Android : AysncTask의 진행 대화 상자 오류
class ShowDialogAsyncTask extends AsyncTask<Void, String, Void>{
private ProgressDialog progressSpinner;
@Override
protected void onPreExecute() {
ProgressDialog progressSpinner = new ProgressDialog(MainActivity.this);
progressSpinner.setTitle("File Download");
progressSpinner.setMessage("Connecting to Internet");
progressSpinner.show();
}
@Override
protected Void doInBackground(Void... params)
{
Log.v("doInBackground","1");
try {
Log.v("doInBackground","2");
onProgressUpdate("Downloading File");
//do some stuff
} catch (IOException e) {
result = "Error";
}
onProgressUpdate("Complete!");
SystemClock.sleep(300);
return null;
}
protected void onProgressUpdate(String... values)
{
Log.e("onProgressUpdate",values[0]);
try{
progressSpinner.setMessage(values[0]);
}catch(Exception e){Log.e("onProgressUpdate","Error!");}
Log.e("onProgressUpdate","Success!");
}
@Override
protected void onPostExecute(Void result)
{
progressSpinner.dismiss();
vf.showNext();
}
}
I 작동하지 않는 메시지를 업데이트 한 것이라고 기대했다 코드는, 그냥 예외가 발생합니다. 그런 다음 진행 대화 상자를 닫으려고 할 때 모든 것이 충돌합니다.
나는 모든 포인터를 매우 고맙게 생각할 정도로 안드로이드 개발에 새로운 경험이 있습니다.
Logcat 항목은 약간 배 모양입니다.
는03-22 22:59:30.189: W/dalvikvm(8133): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
03-22 22:59:30.189: E/AndroidRuntime(8133): Uncaught handler: thread main exiting due to uncaught exception
03-22 22:59:30.195: E/AndroidRuntime(8133): java.lang.NullPointerException
--UPDATE--
내가 진행 대화 상자를 선언했다 어디에 내 문제가 있었다 나타납니다. 나는 결국 내가 뭔가를 다음 AsyncTask를 클래스 액세스의 모든 다른 방법이 메시지를 업데이트 할 수 있습니다 것입니다 그래서
progressSpinner = new ProgressDialog(mContext);
처럼 새로 만든 생성자에서 진행 대화 상자를 선언 할 수 있다는 것을 알아 냈다.
내 대답을 확인하십시오 – Droidman