我在我的应用程序中使用以下代码。
Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ProgressDialog pd = new ProgressDialog(v.getContext());
pd.setTitle("Please wait.......");
pd.show();
// some task which will take minimum 2 or 3 seconds
// e.g. parsing XML file
pd.dismiss();
}
});
我按照上面的代码思考,当我点击按钮时,必须在屏幕上显示进度对话框,但它不显示。为什么我不知道。
但是,如果我删除pd.dismiss()
显示,那也是仅在按钮释放后。
如果我将任何无限循环代替我的任务,其不显示进度对话框。
我的代码是否正确?如果有人知道我的要求的解决方案,请回复此帖。
感谢。
答案 0 :(得分:1)
AsyncTasks专为此目的而设计。单击按钮时启动asyncTask,并在asyncTask的preExecute中显示对话框,并在asyncTask的PostExecute()上关闭对话框。在background()方法中执行需要时间的活动。
答案 1 :(得分:0)
使用AsychTask类将代码写入inBackground()方法并使用onUpdateProgress()显示进度并在onPostExecute()
上解除这是示例链接
http://developer.android.com/reference/android/os/AsyncTask.html
http://www.vogella.de/articles/AndroidPerformance/article.html