我想打开一个进度对话框,然后将以下代码放入来自MainActivity的onCreate方法中
ProgressDialog.show(MainActivity.this, "", "Loading...");但在那之后,我会把ProgressDialog消失,然后我把
progressDialog.dismiss();但是eclipse告诉我:“不能从类型对话框中静态引用非静态方法dismiss()”,这是为什么?该代码片段是
if(check.isDeviceConnected())
{
sincro = new Synk(this);
sincro.start();
ProgressDialog.show(MainActivity.this, "", "Loading");
}基本上,我希望ProgressDialog在同步后消失,因此我认为progressDialog.dismiss ()必须设置为}
发布于 2013-07-29 13:02:13
您需要捕获对ProgressDialog的引用:
ProgressDialog myDialog = ProgressDialog.show(MainActivity.this, "", "Loading...");然后您可以执行以下操作:
myDialog.dismiss();这需要这样做,因为dismiss()不是一个静态方法,必须在对象上调用它。相反,show(...)是一个静态方法,因此可以直接调用。(不带对象。)
发布于 2013-07-29 13:03:33
这样使用ProgressDialog
对于初始化ProgressDialog
ProgressDialog dialog = new ProgressDialog(YourActivity.this);
dialog.setMessage("Loading...");
dialog.setCancelable(false);初始化后显示ProgressDialog
dialog.show();用于解雇ProgressDialog
dialog.dismiss();发布于 2013-07-29 13:10:36
您应该改为如下所示:
if(check.isDeviceConnected())
{
sincro = new Synk(YourActivity.this);
sincro.start();
ProgressDialog mydialog = null;
mydialog = ProgressDialog.show(MainActivity.this, "", "Loading");
}然后你必须放入:
mydialog.dismiss();https://stackoverflow.com/questions/17916323
复制相似问题