Android:每个线程只能创建一个循环器
我有一个Android looper的问题。我有一个类扩展了AsynTask。在doInBackground()方法中,我有Looper.prepare()和下面的一些代码 它第一次运行良好,但之后出现了一个例外 “每个线程只能创建一个活套” 使用Looper.quit()似乎有一些解决方案,但我无法实现它 任何帮助都将不胜感激。试试Android:每个线程只能创建一个循环器,android,looper,Android,Looper,我有一个Android looper的问题。我有一个类扩展了AsynTask。在doInBackground()方法中,我有Looper.prepare()和下面的一些代码 它第一次运行良好,但之后出现了一个例外 “每个线程只能创建一个活套” 使用Looper.quit()似乎有一些解决方案,但我无法实现它 任何帮助都将不胜感激。试试 Looper.getMainLooper().quit(); 只需添加以下检查 if (Looper.myLooper() == null) Loo
Looper.getMainLooper().quit();
只需添加以下检查
if (Looper.myLooper() == null)
Looper.prepare();
在我看来,Looper.quit()就是您在这里需要的。在android API文档中,明确说明了“确保在调用此方法后调用loop(),并通过调用quit()结束它”。您所说的“我无法实现它”是什么意思?我的意思是,我无法在Looper中找到quit()。它显示getMainLooper、myLooper()、loop()、myQueue()、prepare()、prepareMainLooper(),但不显示quit()。
getActivity().runOnUiThread (new Thread(new Runnable() {
public void run() {
Looper.myLooper();
getActivity().invalidateOptionsMenu();
}
}));
if (Looper.myLooper() == null)
Looper.prepare();