Android中的处理程序

Dav*_*own 2 android

什么是在android编程中使用的Handler?我们如何使用它们来解雇ProgressDialog?

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

谢谢,大卫

Sam*_*gal 5

请改用AsyncTask.它有一个名为onPostExecute的函数,您可以在其中关闭进度对话框.

@Override
    protected void onPostExecute(Void result) {
        Toast.makeText(ctx, "Completed Synch with Server", Toast.LENGTH_SHORT)
                .show();

                mProgressDialog.dismiss();

    }
Run Code Online (Sandbox Code Playgroud)

处理程序用于在预定时间运行一小段代码.通常使用AlarmManager来启动意图(活动,服务,广播),但如果您只想运行一小部分代码,则可以使用处理程序:

if(condition == true){

    Handler timer = new Handler();
    timer.postDelayed(task, (5 * 60 * 1000);
}

---

      private Runnable task = new Runnable() {
        public void run() {
            mProgressDialog.dismiss();
        }
    };
Run Code Online (Sandbox Code Playgroud)

我强烈建议在Android上使用任何与线程相关的AsyncTask.