Volley内部UI层回调的实现代码

来源:互联网 发布:java高级工程师简历 编辑:程序博客网 时间:2024/06/05 16:34

本质还是通过Handler进行更新,只不过内部维护了一个Executor对象,并重写了execute方法,在该方法中调用handler的post方法进行执行。

/** * User:lizhangqu(513163535@qq.com) * Date:2015-10-23 * Time: 23:13 */public class HandlerExecutor {    /** Used for posting something, typically to the main thread. */    private final Executor mPoster;    /**     * Creates a new delivery interface.     * @param handler {@link Handler} to post on UI thread     */    public HandlerExecutor(final Handler handler) {        // Make an Executor that just wraps the handler.        mPoster = new Executor() {            @Override            public void execute(Runnable command) {                handler.post(command);            }        };    }    /**     * Creates a new delivery interface, mockable version     * for testing.     * @param executor For running delivery tasks     */    public HandlerExecutor (Executor executor) {        mPoster = executor;    }    public void post(Runnable runnable) {        mResponsePoster.execute(runnable);    }}
final HandlerExecutor executor = new HandlerExecutor(new Handler(Looper.getMainLooper()));executor.post(new Runnable() {    @Override    public void run() {        //some operation about ui    }});
0 1
原创粉丝点击