我有 loadData() 用于加载我的 Neuroph 网络。
我想用进度对话框运行它,但如果执行 loadData() 的一部分,我会增加我的进度对话框。
我需要它的教程。
我知道带有处理程序的线程,AsyncTask。但不能用这两种方法做到这一点。
我有 loadData() 用于加载我的 Neuroph 网络。
我想用进度对话框运行它,但如果执行 loadData() 的一部分,我会增加我的进度对话框。
我需要它的教程。
我知道带有处理程序的线程,AsyncTask。但不能用这两种方法做到这一点。
因此,我建议您使用AsyncTask
为更新而指定的手段,UI
并取得一些进展。该工具包含三个最重要的方法:
UI
(在您的情况下,您可以增加 ProgressDialog 的进度)
然后,AsyncTask
它是一个强大的工具,非常高效,并且使用泛型,因此是类型安全的。但是您需要阅读更多关于它的信息,因此首先查看参考,然后我建议您查看 Vogella 上的Android 线程、处理程序和 AsyncTask,这是很好的来源。
然后你想使用ProgressDialog
. 因此,只需show()
在执行之前创建它和它AsyncTask
。然后在onPostExecute方法中,您只需调用dismiss方法来关闭ProgressDialog。
ProgressDialog pd = new ProgressDialog(this);
pd.setProgress(0);
pd.setTitle("Some title");
pd.setMessage("Some message...");
pd.show();
yourTask.execute(); // here you are executing your AsyncTask
然后在你的 OnPostExecute 方法中调用dismiss:
@Override
protected void onPostExecute(Void unused) {
pd.dismiss(); // dismissing your ProgressDialog
}