我有一个调用第二个java类的活动。我希望在调用第二个类后显示进度条然后返回正常活动执行。我发现了一些其他线程,但我无法阻止进度条。
答案 0 :(得分:3)
here上有一个完整的例子。
引用:
声明您的进度对话框:
ProgressDialog progress;
当您准备好开始进度对话框时:
progress = ProgressDialog.show(this, "dialog title", "dialog message", true);
并在完成后让它消失:
progress.dismiss();
这里有一个小线程示例:
// Note: declare ProgressDialog progress as a field in your class. progress = ProgressDialog.show(this, "dialog title", "dialog message", true); new Thread(new Runnable() { @Override public void run() { // do the thing that takes a long time runOnUiThread(new Runnable() { @Override public void run() { progress.dismiss(); } }); } }).start();
不推荐使用ProgressDialog,因此您可能希望使用ProgressBar。
我发现this post关于删除其中一个。
嗯,我觉得这很荒谬,但这就是我修复它的方法。
在
ProgressBar
的xml中,我添加了android:visibility="gone"
默认隐藏它。然后,在我的代码中,我首先告诉它显示 (View.VISIBLE
)在尝试获取服务器列表之前,我告诉过 它完成后隐藏(View.GONE
)。这工作(我可以看到 数据加载时进度指示器,然后它消失了)。所以 我想我无法将其隐藏在代码中,因为代码是 不是什么迫使它开始可见...这似乎是一个 我的错误。
答案 1 :(得分:1)
非常简单:
显示进度
ProgressDialog dialog = ProgressDialog.show(getContext(), "Title", "Message");
并阻止它:
dialog.dismiss();