Android-进度对话框未关闭
我有一个ListActivity类,当单击列表上的任何项目时,将显示一个新的活动。加载新活动需要时间,因此我希望用户知道发生了什么(以进度对话框的形式) 因此,为了做到这一点,我在我的类中实现了Runnable,如下所示-Android-进度对话框未关闭,android,progressdialog,android-ui,runnable,Android,Progressdialog,Android Ui,Runnable,我有一个ListActivity类,当单击列表上的任何项目时,将显示一个新的活动。加载新活动需要时间,因此我希望用户知道发生了什么(以进度对话框的形式) 因此,为了做到这一点,我在我的类中实现了Runnable,如下所示- public class ProtocolListActivity extends ListActivity implements Runnable { private ProgressDialog progDialog; .... protected void onList
public class ProtocolListActivity extends ListActivity implements Runnable {
private ProgressDialog progDialog;
....
protected void onListItemClick(ListView l, View v, int position, long id) {
progDialog.show(this, "Showing Data..", "please wait", true, false);
Thread thread = new Thread(this);
thread.start();
}
....
public void run() {
// some code to start new activity based on which item the user has clicked.
}
最初,当我单击并加载新活动时,“进度”对话框运行良好,但当我关闭上一个活动(返回此列表)时,“进度”对话框仍在运行。我希望进度对话框仅在新活动开始时显示
有人可以指导我如何正确地做这件事吗 对话框需要由程序员明确删除(或由用户关闭)。因此,应该这样做: 在活动A中(调用活动) 尽管在大多数用例中,繁重的工作应该放在被调用方活动上。如果在被调用方的创建过程中,
完成了繁重的工作,则应如下所示:
活动B(被叫方):
无论如何,这个想法还是一样的 对话框需要由程序员明确删除(或由用户关闭)。因此,应该这样做:
在活动A中(调用活动)
尽管在大多数用例中,繁重的工作应该放在被调用方活动上。如果在被调用方的创建过程中,完成了繁重的工作,则应如下所示:
活动B(被叫方):
无论如何,这个想法还是一样的
protected void onListItemClick(ListView l, View v, int position, long id) {
progDialog.show(this, "Showing Data..", "please wait", true, false);
Thread thread = new Thread(this){
// Do heavy weight work
// Activity prepared to fire
progDialog.dismiss();
};
thread.start();
}
onCreate(){
progDialog.show(this, "Showing Data..", "please wait", true, false);
Thread thread = new Thread(this){
// Do heavy weight work
// UI ready
progDialog.dismiss();
};
thread.start();
}