通知UI thread的一个方法

主线程的activity为某个模块的listener,作为listener,这个acitivity实现listener的一个回调。在这个回调里直接更新主线程的UI thread,会出问题

比如

MainAcitivity implements TrackListner {
    @Override
    public void onSucess() {
        Log.d(TAG, "onSucess");
        Toast toast = new toast();
        toast.show();
    }
}

原因未知

按照MVC的设计原则,所有UI相关的显示(View),都在一个地方(UI thread)里做,因此用Handler,来处理这个事情

MainAcitivity implements TrackListner {
    private Handler mHandler = new Handler();
    @Override
    public void onSucess() {
        Log.d(TAG, "onSucess");
        Runnable r = new Runnable() {
            public void run() {
                Toast toast = new toast();
                toast.show();
            }
        };
        mHandler.post();
    }
}


你可能感兴趣的:(Android;Handler)