Отображение экрана загрузки?
Я хочу показать экран загрузки, пока мои удвоения, долгота и широта равны 0. В настоящее время мой диалог даже не отображается, и появляется ошибка:
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();
}
Долгота и широта - это переменные в классе RuchirLocation
, а awesome
- объект RuchirLocation
Цикл while проходит, но диалог не отображается. Затем, после цикла около 50 раз, я получаю эту ошибку:
Caused by: java.lang.RuntimeException: Could not read input channel file descriptors from parcel.
указывая на:
ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "",
"Fetching Location...Please wait. If this takes too long, try again.", true);
Как я могу это исправить? Я просто хочу показать диалог загрузки, пока мои переменные равны 0.
Спасибо,
Ruchir
Ответы
Ответ 1
Правильный способ состоит в том, чтобы сначала отобразить диалог, и как только вы получите значение этих переменных, затем отпустите диалог выполнения.
ProgressDialog pd;
if(awesome.longitude == 0 && awesome.latitude == 0){
pd = new ProgressDialog(//context here);
pd.setMessage("Loading...")
pd.show();
}
И как только вы получите значение этих переменных -
pd.dismiss();