我希望通过按下按钮显示进度对话框并在功能完成时将其关闭。我的代码在下面,虽然很容易因为一个未知的原因而无法运行。
final Button button = (Button) findViewById(R.id.syncBtn);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setCancelable(false);
progressDialog.setTitle("Please Wait..");
progressDialog.setMessage("Preparing to download ...");
progressDialog.show();
bringData();
progressDialog.dismiss();
}
});
答案 0 :(得分:1)
我可以想到为什么它不适合你的两种可能性:
方法" bringData()"在ui线程上执行。所以ui线程正在做工作(执行bringData)并且不会重绘ui。然后你关闭对话框,似乎对话框没有显示。
在方法" bringData()"中,您启动后台线程。在这种情况下,您将显示对话框并直接将其解除。
由于您正在使用评论中提到的排球,因此您必须在GET请求完成后关闭该对话框。因此,您已在回调方法中关闭该对话框。