내가 AsyncTask를에서 진행 대화 상자 내 응용 프로그램에 문제가 (longDuration 작업에 대한 스레드 나 AsyncTask를 사용) 1 시간에 표시되지 대화 상자에서 다음 나의 AsyncTask
이 doInBackGround()
에 인터넷에서 몇 가지에 geting 데이터를하고있다가, 내가 시작하고 진행 대화 상자에서 onPreExecute()
, 완료 대화 상자에서 onPostExecute()
.안드로이드 : 진행
버튼을 클릭하면이 asyncTask가 실행됩니다. 처음이 버튼을 클릭하면 (긴 동작이 발생 함) 진행 대화 상자가 표시되지 않습니다. 그러나 다음 번 Progress 대화 상자가 정상적으로 표시됩니다.
AsyncTask
을 처음 실행했을 때 진행률 대화 상자가 표시되지 않는 문제는 무엇입니까? 나는에 대해 별도의 스레드를 사용 AsyncTask
를 사용하기 전에
@SuppressWarnings("deprecation")
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_TASKING:
mSearchDialog = new ProgressDialog(this);
mSearchDialog.setMessage("Searching for field number..");
mSearchDialog.setCancelable(true);
return mSearchDialog;
}
return super.onCreateDialog(id);
}
: MainActivity
에 정의
private class Task_Search extends AsyncTask<Void, Void, Void> {
@SuppressWarnings("deprecation")
protected void onPreExecute() {
showDialog(DIALOG_TASKING);
}
protected Void doInBackground(Void... unused) {
//some geting of web content here
}
@SuppressWarnings("deprecation")
protected void onPostExecute(Void unused) {
dismissDialog(DIALOG_TASKING);
}
}
진행 대화 상자 :
public void onClickFind(View view){
new Task_Search().execute();
}
이 작업 Task_Search
입니다 :
이
은 온 클릭 방법입니다 대신 데이터 다운로드 :에서, 나는 처음으로progressDialog
을 시작했다. 그때 쓰레드는 쓰레드가 끝났을 때
progressDialog
이 중지되었다. 동작은 동일했다 : 버튼 대화 상자를 처음 클릭 할 때 wasnt가 표시되고, 다음 번에 표시된다.
누구를 도울 수 있습니까?
ShowDialog를 (INT)이 무효 반환, 그래서 이것이 가능하지 않은 작동해서 ProgressDialog가 붙어 1 시간, 다음 시간. – VinceFR
그래, 내가 사용자 정의 방법에 대한 착각. 어쨌든 showDialog를 사용하지 말고 내 자신의 ProgressDialog를 만들고 보여 주길 권한다. – PravinCG
나는 동의한다, 나는 그것을 역시 추천한다! – VinceFR