Android学习整理- 9- 实时更新UI-Handler

在Android中,是不允许在子线程中更新UI的,一般情况下我们使用Handler,AsyncTask,RxJava来在主线程中更新UI

Handler实时更新UI思路

  1. 用Handler的post方法启动runnable,然后在runnable方法中,使用postDelay()方法加上延迟时间再次post对象runnable,就可以实现实时更新

private Handler mHandler = new Handler();



.....

控制方法里
 mHandler.post(mRunnable);


//runnable如下

private Runnable mRunnable = new Runnable() {
        @Override
        public void run() {
            //俩条更新Ui逻辑
            mSeekBar.setProgress(mMyBinder.getPlayPosition());
            mTextView.setText(time.format(mMyBinder.getPlayPosition()) + "s");

            //再次发送
            mHandler.postDelayed(mRunnable, 1000);
        }
    };

2 线程写一个持续循环,每次进入循环内及post一次,然后休眠100ms(看情况决定,这样也行

Rxjava

很好用,先插眼,以后整理

AsyncTask

Android内置傻瓜机异步

Android学习整理 -11 -异步处理机制

你可能感兴趣的:(Android学习整理- 9- 实时更新UI-Handler)