Android的AsyncTask类中使用自定义handler
程序员文章站
2022-04-25 15:53:55
...
熟知的AsyncTask就是Thread+handler实现,但是这个handler并不能很好的被我们控制。在我的需求中希望在AsyncTask中使用自定义的handler,而且在必要的时候退出消息循环。实现思路如下:
AsyncTask中创建消息循环,然后启动handler目标操作,当操作结束后,结束消息循环,执行后续代码。
下面是代码:
AsyncTask中创建消息循环,然后启动handler目标操作,当操作结束后,结束消息循环,执行后续代码。
下面是代码:
class mAsyncTask extends AsyncTask {
@Override
protected Object doInBackground(Object... params) {
// TODO Auto-generated method stub
Looper.prepare();
MHandler mHandler = new MHandler();
...
//my action
if(action is over){
mHandler.getLooper.quit();//当动作结束,退出消息循环,执行下面方法,如果不退出,下面的方法function()不会执行
}
...
Looper.mLooper.loop();
function();
return null;
}
}
上一篇: float 导致的计算精确度问题
下一篇: 笔记本按键失灵总是自动打开东西该怎么办?
推荐阅读
-
10_Android中通过HttpUrlConnection访问网络,Handler和多线程使用,读取网络html代码并显示在界面上,ScrollView组件的使用_html/css_WEB-ITnose
-
Android的线程通信:消息机制原理(Message,Handler,MessageQueue,Looper),异步任务AsyncTask,使用JSON
-
详解 Android中Libgdx使用ShapeRenderer自定义Actor解决无法接收到Touch事件的问题
-
Android 中自定义ContentProvider与ContentObserver的使用简单实例
-
详解Android中Handler的使用方法
-
详解 Android中Libgdx使用ShapeRenderer自定义Actor解决无法接收到Touch事件的问题
-
详解Android 中AsyncTask 的使用
-
详解Android中Handler的使用方法
-
基于Android中Webview使用自定义的javascript进行回调的问题详解
-
Android编程实现使用Intent传输包含自定义类的ArrayList示例