Volley 내부 UI 레이어 콜백 구현 코드

본질적으로는handler를 통해 업데이트됩니다. 내부에서 Executor 대상을 유지하고 execute 방법을 다시 썼을 뿐입니다. 이 방법에서handler의post 방법을 호출하여 실행합니다.

/** * User:lizhangqu([email protected]) * 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
    }
});

좋은 웹페이지 즐겨찾기