Erich Hunkemöller
- Forum-Beiträge: 8
09.09.2012, 14:42:02 via Website
09.09.2012 14:42:02 via Website
Hallo Leute,
habe ein kleines Problem mit einem ProgressDialog. In meiner Activity drücke ich einen Button, woraufhin ein AsyncTask-Objekt gestartet wird. Mithilfe von AsyncTask wird im Hintergrund ein HTTP-Get durchgeführt, währenddessen wird ein ProgressDialog gezeigt.
Auszug:
Das ganze funktioniert prinzipiell wunderbar, das einzige Problem ist, dass beim weiteren Durchläufen (weiteren Clicks auf den Button) das drehende Rad des ProgressDialogs steht. Und das wirkt natürlich, als ob die Anwendung hängt. Wie gesagt, es läuft, das Rad hängt zwar, aber die Methode
Hat jemand einen Tipp?
MfG
habe ein kleines Problem mit einem ProgressDialog. In meiner Activity drücke ich einen Button, woraufhin ein AsyncTask-Objekt gestartet wird. Mithilfe von AsyncTask wird im Hintergrund ein HTTP-Get durchgeführt, währenddessen wird ein ProgressDialog gezeigt.
Auszug:
1public class MyTask extends AsyncTask<Void, Void, Void>{
2
3 protected void onPreExecute() {
4 dialog.setTitle("Please wait");
5 dialog.setMessage("Retreiving data...");
6 dialog.setCancelable(false);
7 dialog.show();
8 }
9 @Override
10 protected Void doInBackground(Void... params) {
11
12 try {
13 de.mobo.myproject.executeHTTPget();
14 } catch (Exception e) {
15 // TODO Auto-generated catch block
16 e.printStackTrace();
17 }
18 return null;
19 }
20 protected void onPostExecute(String result) {
21 cancel(true);
22 }
23 }
2
3 protected void onPreExecute() {
4 dialog.setTitle("Please wait");
5 dialog.setMessage("Retreiving data...");
6 dialog.setCancelable(false);
7 dialog.show();
8 }
9 @Override
10 protected Void doInBackground(Void... params) {
11
12 try {
13 de.mobo.myproject.executeHTTPget();
14 } catch (Exception e) {
15 // TODO Auto-generated catch block
16 e.printStackTrace();
17 }
18 return null;
19 }
20 protected void onPostExecute(String result) {
21 cancel(true);
22 }
23 }
1public void onClick(View v) {
2 MyTask ladebalken = new MyTask();
3
4 synchronized (ladebalken) {
5 ladebalken.execute();
6 }
2 MyTask ladebalken = new MyTask();
3
4 synchronized (ladebalken) {
5 ladebalken.execute();
6 }
Das ganze funktioniert prinzipiell wunderbar, das einzige Problem ist, dass beim weiteren Durchläufen (weiteren Clicks auf den Button) das drehende Rad des ProgressDialogs steht. Und das wirkt natürlich, als ob die Anwendung hängt. Wie gesagt, es läuft, das Rad hängt zwar, aber die Methode
1de.mobo.myproject.executeHTTPget();
wird ausgeführt und der ProgressDialog beendet.Hat jemand einen Tipp?
MfG
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.