我有loadData()用于加载我的Neuroph网络。
我想用进度对话框运行它,但如果执行了loadData()的一部分,我会增加进度对话框。
我需要教程。
我知道Thread with Handler,AsyncTask。但不能用这两种方法做到这一点。
答案 0 :(得分:1)
因此,我建议您使用为更新AsyncTask
指定的有意义UI
并取得一些进展。该工具包含三个最重要的方法:
UI
(在您的情况下,您可以增加ProgressDialog的进度)
然后,AsyncTask
是强大的工具,效率很高,也使用泛型,因此是类型安全的。但是你需要阅读更多关于它的信息,所以首先看看reference,然后我建议你看看Android Threads, Handlers and AsyncTask关于Vogella,它是很好的来源。
然后你想使用ProgressDialog
。
因此,在执行show()
之前,只需创建它并AsyncTask
即可。然后在 onPostExecute 方法中,您只需调用关闭方法即可解除 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
}