2016-03-26 12 views
0

Ich möchte einen Ladebildschirm zeigen, während meine Doppel, Längen- und Breitengrad, sind 0. Derzeit sieht mein Dialog nicht einmal zeigen, und ein Fehler kommt:Ladebildschirm anzeigen?

while(awesome.longitude == 0 && awesome.latitude == 0){ 

      Log.v(TAG, "In While"); 

      ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "", 
        "Fetching Location...Please wait. If this takes too long, try again.", true); 

      dialog.show(); 

     } 

Länge und Breite sind Variablen in der Klasse RuchirLocation und awesome ist ein Ziel der RuchirLocation

die while-Schleife durchläuft, aber der Dialog nicht zeigt. Dann, nach etwa 50 mal Looping, bekomme ich diesen Fehler:

Caused by: java.lang.RuntimeException: Could not read input channel file descriptors from parcel. 

zeigt auf:

 ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "", 
       "Fetching Location...Please wait. If this takes too long, try again.", true); 

Wie kann ich dieses Problem beheben? Ich möchte einfach einen Laden Dialog zeigen, während meine Variablen 0.

Dank sind,

Ruchir

Antwort

0

Der richtige Weg, den Dialog zunächst zu zeigen, und sobald Sie den Wert dieser Variablen erhalten dann Beende den Fortschrittsdialog.

ProgressDialog pd; 

if(awesome.longitude == 0 && awesome.latitude == 0){ 
    pd = new ProgressDialog(//context here); 
    pd.setMessage("Loading...") 
    pd.show(); 
} 

Und sobald Sie den Wert dieser Variablen erhalten -

pd.dismiss(); 
+0

Wie prüfe ich immer wieder, wenn der Wert der Variablen dann geändert? –

+0

Woher weiß ich, wann ich entlassen muss? –

+1

Woher beziehen Sie Ihre Standorte? ... – Wukash

Verwandte Themen