我在使用Android looper时遇到了问题。我有一个继承了AsynTask的类,在doInBackground()方法中我使用了Looper.prepare()和一些代码。它第一次运行得很好,但之后就会出现异常“每个线程只能创建一个Looper”。
似乎可以使用Looper.quit()来解决问题,但我无法实现它。
非常感谢您提供的任何帮助。
似乎可以使用Looper.quit()来解决问题,但我无法实现它。
非常感谢您提供的任何帮助。
class LooperThread extends Thread {
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// process incoming messages here
}
};
Looper.loop();
}
}
Looper.getMainLooper().quit();
getActivity().runOnUiThread (new Thread(new Runnable() {
public void run() {
Looper.myLooper();
getActivity().invalidateOptionsMenu();
}
}));
只需添加以下检查。
if (Looper.myLooper() == null)
Looper.prepare();