在我的应用程序中,当我单击按钮时,我从网络获取一些数据,我正在开启一项新活动。那时我正在尝试在屏幕上显示进度条。以下是我的代码
dialog = new ProgressDialog(SearchPage.this);
dialog.setMessage("Please wait...");
dialog.setIndeterminate(true);
dialog.show();
new Thread() {
public void run() {
try {
Thread.sleep(300);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
getWebPageContents(url);
Intent myIntent = new Intent(getBaseContext(), SearchList.class);
startActivityForResult(myIntent, 0);
}
}.start();
该应用程序正常运行,进度对话框也正常运行。现在问题是当我从第二个活动按下后退按钮时,第一个活动被打开,进度对话框开始并连续运行而不停止。
如果按下后退按钮,它会停止。当我返回第一个活动时,我不希望查看进度对话框。怎么做........
答案 0 :(得分:3)
在开始新活动之前致电dialog.dismiss()
。希望这会有所帮助。
答案 1 :(得分:1)
在
之后添加以下代码startActivityForResult(myIntent, 0);
dialog.dismiss();
答案 2 :(得分:1)
通过调用
调用Activity后,您可以直接关闭对话框dialog.dismiss();
后
startActivityForResult(myIntent, 0);
如果您只想在从此活动返回时关闭对话框,则需要确保dialog
为字段,并在dialog.dismiss();
中致电onActivityResult
(您可以想先检查一下dialog != null
。
答案 3 :(得分:0)
在
之后添加以下代码dialog.setMessage("Please wait...");
dialog.setCancelable(false);