데이터베이스에서 데이터를 추출하고이를 목록에 채우는 프로 시저가 있습니다. 쿼리가 실행되는 동안 진행률 대화 상자를 표시하려고하지만 쿼리가 실행 된 후에야 시각적으로 나타납니다. 나는 별도의 스레드에서 ProgressDialog
을 실행해야한다고 생각하지만 몇 가지 제안을 따랐으므로 제대로 작동하지 않을 수 있습니다.ProgressDialog (별도 스레드)
private class MyAwesomeAsyncTask extends AsyncTask<Void, Void, Void> {
private ProgressDialog mProgress;
@Override
protected void onPreExecute() {
//Create progress dialog here and show it
}
@Override
protected Void doInBackground(Void... params) {
// Execute query here
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
//update your listView adapter here
//Dismiss your dialog
}
}
가 호출하려면 :
그래서 내Activity
난 그냥
private void DisplayAllproductListView(String SqlStatement) {
ProgressDialog dialog =
ProgressDialog.show(MyActivity.context, "Loading", "Please wait...", true);
//..................
//..................
//execute sql query here
dialog.dismiss();
}
감사
세퍼레이트 스레드! asynctask 디스플레이 진행 대화 상자를'onPreExecute'에 사용하고'onPostExecute'에 닫습니다. – Raghunandan
AsyncTask를 사용해보십시오 – Joel