首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android的AsyncTask种中使用自定义handler

2012-07-01 
Android的AsyncTask类中使用自定义handler熟知的AsyncTask就是Thread+handler实现,但是这个handler并不能

Android的AsyncTask类中使用自定义handler
熟知的AsyncTask就是Thread+handler实现,但是这个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;  }}

热点排行