Der Versuch, AsyncTask zum ersten Mal zu implementieren. Wenn ich die App zum ersten Mal starte, funktioniert es und der Ladedialog wird angezeigt (obwohl der Spinner nicht!), Aber viele andere Zeiten, wenn ich die Aktivität starte, friert die App für Sekunden (Laden im Hintergrund) ohne offensichtlichen ProgressDialog oder die aufgerufene Aktivität, die bedeutet, dass AsyncTask nicht funktioniert. Hier ist mein CodeAsyncTask funktioniert manchmal und manchmal nicht
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();
}
}
}
Wo sehen Sie Ihre Aufgabe aync – MRX
innerhalb onCreate() beginnen .... hier ist der Code "neue PrepareFragments(). Execute (); " – Bialy
Haben Sie Ihre Datenbank in' doInBackgournd'-Methode geschlossen? –