尝试首次实现AsyncTask。当我第一次启动应用程序时,它会起作用,并且会显示加载消息对话框(尽管微调不是!),但是在我启动该活动的许多其他时间,应用程序冻结了几秒钟(在后台加载),没有明显的ProgressDialog或者这意味着AsyncTask无法正常工作。这里是我的代码AsyncTask有时会工作,有时候不会
private class PrepareFragments extends AsyncTask<Void, Void, ArrayList<Cursor>> {
ProgressDialog pd;
ArrayList<Cursor> cursors;
@Override
protected void onPreExecute() {
Log.d("onPre : ", "true");
pd = new ProgressDialog(CategoryDrugs.this);
pd.show();
pd.setMessage("Loading...");
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setProgress(0);
pd.setMax(100);
}
@Override
protected ArrayList<Cursor> doInBackground(Void ... arg) {
Log.d("doInBG : ", "true");
// my custom code here
}
@Override
protected void onProgressUpdate(Void... values) {
pd.incrementProgressBy(1);
}
@Override
protected void onPostExecute(ArrayList<Cursor> cursor) {
Log.d("onPost : ", "true");
if (pd.isShowing()) {
pd.dismiss();
}
}
}
从哪里开始里面的onCreate()你aync任务 – MRX
....这里是代码“新PrepareFragments()。执行( );“ – Bialy
你在'doInBackgournd'方法中关闭了你的数据库吗? –