Android中的处理程序

时间:2010-09-03 06:16:49

标签: android

在android编程中使用什么处理程序?我们如何使用它们来关闭ProgressDialog?

我已经从网上引用了一些重复这一点的东西,但是发现它们并不令人信服。解雇ProgressDialog和Handler的例子将是一件好事。

谢谢, 大卫

2 个答案:

答案 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发送到线程的消息队列。