android中Handler对象的需求是什么?

时间:2015-06-28 13:35:36

标签: java android multithreading

我刚刚阅读了Handler对象及其在android中的用法。这是一种将数据/状态从某个后台线程传递到UI线程的方法。

假设UI中有TextView,我们只需在工作完成后将状态更新为“已完成”。以下逻辑有什么不好。那我们为什么要Handlers

可以通过以下逻辑实现相同的功能。

public class BackgroundThread implements Runnable {

    TextView textView;

    BackgroundThread(TextView tv) {
        this.textView = tv;
    }

    public void run() {
        /* Do the background time consuming work here */

        /* We already have a reference to the UI ob Text View object */
        /* Use that to update the UI */

        textView.setText ("Task Completed");
    }
}

我们可以从Activity中启动后台线程,如

new Thread (new BackgroundThread (this.findViewById (R.id.my_text_view))).start();
bt.start();

0 个答案:

没有答案