首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Looper混淆

Android Looper混淆
EN

Stack Overflow用户
提问于 2011-07-21 23:18:10
回答 2查看 709关注 0票数 0

安卓抱怨下面的代码需要调用Looper.prepare。我尝试添加Looper.prepare,但代码在第六次执行后崩溃,这让我相信它并不像我想象的那么简单。任何建议都将不胜感激。顺便说一句,我将这段代码包装在AsyncTask中,因为在执行查询时我需要一个进度旋转器。如果有更简单的东西,请告诉我。

代码语言:javascript
复制
private class doSearch extends AsyncTask<String, String, Cursor> {

    @Override
    protected Cursor doInBackground(String... searchstring) {

        [...]           
        CursorLoader loader = new CursorLoader(SearchActivity.this, codes, projection, mWhere, null, null);
        Cursor cursor = loader.loadInBackground();

        return cursor;
}
EN

回答 2

Stack Overflow用户

发布于 2011-07-21 23:22:17

它通常意味着您正在做一些与UI相关的事情,或者从另一个(后台)线程而不是主线程调用处理程序的sendMessage函数

票数 0
EN

Stack Overflow用户

发布于 2011-07-22 00:13:44

您已经在AsyncTask中。异步任务加载器将创建另一个根在线程池中的AsyncTask。AsyncTasks必须在UI线程上构造。他们会用这个来抓取所需的Looper。如果您打算自己编写一个异步任务,并且希望串行地执行此游标加载,那么请使用非异步游标检索方法。或者去掉光标,扩展CursorLoader,重写deliverResult( AsyncTask )方法作为回调函数。这类似于AsyncTask中的onPostExecute

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6778443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档