在android编程中使用什么处理程序?我们如何使用它们来关闭ProgressDialog?
我已经从网上引用了一些重复这一点的东西,但是发现它们并不令人信服。解雇ProgressDialog和Handler的例子将是一件好事。
谢谢, 大卫
答案 0 :(得分:5)
请改用AsyncTask。它有一个名为onPostExecute的函数,您可以在其中关闭进度对话框。
@Override
protected void onPostExecute(Void result) {
Toast.makeText(ctx, "Completed Synch with Server", Toast.LENGTH_SHORT)
.show();
mProgressDialog.dismiss();
}
处理程序用于在预定时间运行一小段代码。通常使用AlarmManager来启动意图(活动,服务,广播),但如果您只想运行一小部分代码,则可以使用处理程序:
if(condition == true){
Handler timer = new Handler();
timer.postDelayed(task, (5 * 60 * 1000);
}
---
private Runnable task = new Runnable() {
public void run() {
mProgressDialog.dismiss();
}
};
我强烈建议在Android上与线程相关的任何线程使用AsyncTask。
答案 1 :(得分:-1)
处理程序用于UI和后台线程之间的通信。基本上,Handler会将消息和runnables发送到线程的消息队列。