1、问题
有一段代码需要跑在主线程里面,但是没有context上下文,一开始直接想到runOnUiThread,好像不行
runOnUiThread(new Runnable(){public void run(){//执行更新ui的操作}
});
2、解决办法
封装一个handler的单例类
import android.os.Handler;
import android.os.Looper;public class MainHandler extends Handler {private static volatile MainHandler mInstance;private MainHandler() {super(Looper.getMainLooper());}public static MainHandler getInstance() {if (mInstance == null) {synchronized (MainHandler.class) {if (mInstance == null) {mInstance = new MainHandler();}}}return mInstance;}
}
使用如下
MainHandler.getInstance().post(new Runnable(){@Overridepublic void run() {//需要抛到主线程的代码}});