1. 新建Handler

private Handler myHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        // super.handleMessage(msg);
        int what = msg.what;

        switch (what) {
        case 0:
            // TODO  UI 操作一
            break;

        case 1:
            // TODO  UI 操作二
            break;

        case 2:
            //…
            break;

        }

    }
};

2. 异步加载主程序

public void asynLoad() {
    Runnable mRunnable = new Runnable() {
        @Override
        public void run() {
            if (myHandler != null) {
                Message msg = myHandler.obtainMessage(0, null);
                myHandler.sendMessage(msg);

                Message msg2 = myHandler.obtainMessage(1, null);
                myHandler.sendMessageDelayed(msg2, 1000);
            }
        }

    };
    new Thread(mRunnable).start();

}

3.通知数据发生改变notifyDataSetChanged()

public void notifyDataSetChanged() {
    Runnable mRunnable = new Runnable() {
        @Override
        public void run() {

            //更新的 list=…
            if (myHandler != null) {
                Message msg = myHandler.obtainMessage(1);
                myHandler.sendMessage(msg);
            }
        }
    };
    new Thread(mRunnable).start();
}