增强型的Handler(线程之间的通信,回调)
我们知道,在做网络异步请求的时候,有时候需要在收到数据时进行一些界面的更新,为了更简单地与UI主线程交互,我稍微封装了下。
public void downloadSong(final Song song, final MyHandler handler) {//...aq.progress(new MyOnProgressListener(song)).download(song.location, target, new AjaxCallback<File>() {@Overridepublic void callback(String url, final File file, AjaxStatus status) {mhandler_amain.sendMsg(new HandlerCallback() {@Overridepublic void callBack() {NotificationHelper.updateNotification(Integer.valueOf(song.song_id), "下载 " + song.name + " 完成", file.getAbsolutePath(), true);song.local_location = getSongLocalLocation(song);song.is_local = true;if(handler != null)handler.sendMsg("adapter_notify", null);Toast.makeText(aq.getContext(), aq.getContext().getString(R.string.toast_download_finished),Toast.LENGTH_SHORT).show();}},null);}});}