Java 显示加载屏幕?

Java 显示加载屏幕?,java,android,arrays,string,algorithm,Java,Android,Arrays,String,Algorithm,当我的双精度经度和纬度为0时,我想显示一个加载屏幕。目前,我的对话框甚至没有显示,出现了一个错误: while(awesome.longitude == 0 && awesome.latitude == 0){ Log.v(TAG, "In While"); ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "",

当我的双精度经度和纬度为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

正确的方法是首先显示对话框,一旦获得这些变量的值,就关闭进度对话框

ProgressDialog pd;

if(awesome.longitude == 0 && awesome.latitude == 0){
    pd = new ProgressDialog(//context here);
    pd.setMessage("Loading...")
    pd.show();
}
一旦你得到这些变量的值-

pd.dismiss();

我如何经常检查变量值是否发生了变化?我如何知道什么时候应该取消?@Wukash我请求在单独的类中更新我的位置,并将它们存储在值中。然后,我从我的主类中获取值。但是,我希望在位置为0时显示对话框,因为首先需要一些初始时间才能获得位置更新。然后将调用对话框的对象传递给请求更新的对象,并从该对象调用将关闭对话框的方法…因此,当您收到位置更新时,您需要通知您的活动关闭对话框,或者正如Wukash所提到的,您可以将pd引用传递给包含位置更新的类,然后您可以从该类本身关闭对话框。但最好将结果直接传递给活动,以便在更新到达时立即知道