Ok, also versuche ich, einen Fortschrittsdialog zu erhalten, der angezeigt wird, wenn Daten aus dem Internet heruntergeladen und auf die Benutzeroberfläche angewendet werden. Meine asynctask funktioniert gut und es führt alle Schritte, aber es zeigt nie den Dialog jemals. Ich weiß nicht, was ich hier falsch gemacht habe und ich bin ziemlich oft an die Wand gegangen. Ich habe sogar versucht, die asynchrone Aufgabe in den neuen ausführbaren Thread einzufügen und es so auszuführen, dass auch der Dialog nicht angezeigt wurde. Ich rufe die asynchrone Aufgabe wie folgt aufFortschrittsanzeige wird während eines asynctask-Aufrufs nicht angezeigt
new runningMan().execute();
Hier ist der Code, den ich versuche zu laufen.
private class runningMan extends AsyncTask<Void, Void, Integer>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
Log.d("Runningman: ", "Started running");
//this method will be running on UI thread
progress = ProgressDialog.show(PromotionMain.this, "Loading", "PleaseWait", true);
}
@Override
protected Integer doInBackground(Void... params) {
//parse the JSON string
JSONParser jp = new JSONParser();
try {
Log.d(username , password);
jp.parsesData(promos, myJson, pictureArray, pathArray, labelArray);
Log.d("Runningman: ", "Finished parsing");
} catch (IOException e) {
e.printStackTrace();
}
return 1;
}
@Override
protected void onPostExecute(Integer result) {
super.onPostExecute(result);
ArrayList<ListItem> listData = getListData();
fillListView(listData);
Log.d("Runningman: ", "Finished runing");
//this method will be running on UI thread
progress.dismiss();
}
}
Vielen Dank für jede Hilfe mit diesem.
Ja, ich sehe Gestartet Beendet das Parsen und Finished läuft läuft. – MNM