个人项目-密码管理-总结三(Android的AsyncTask执行完成后通知UI及下拉刷新)
2015-04-29 10:09
525 查看
在使用异步任务时,想做到任务执行完成之后,主界面UI再执行相应的代码。用途可以在网络查询之后,将查询到的内容更新UI。
可以根据如下步骤来实现:
1、新建一个接口
2、将要使用更新UI的Activity实现这个接口
3、在AsyncTask中设置listener
4、下拉刷新参见博文/article/1562148.html
注意点:
ListView数据更新时,需要使用Adapter对象的notifyDataSetChanged()方法,不能使用ListView对象的refreshDrawableState()或者invalidate()invalidateViews()方法。
参考:http://stackoverflow.com/questions/9963691/android-asynctask-sending-callbacks-to-ui
可以根据如下步骤来实现:
1、新建一个接口
public interface OnTaskCompleted{ void onLoadPasswordAllTaskCompleted(); }
2、将要使用更新UI的Activity实现这个接口
public YourActivity implements OnTaskCompleted{ // your Activity }并实现onTaskCompleted()方法,方法中的内容即在任务完成后调用的步骤
@Override public void onLoadPasswordAllTaskCompleted() { adapterShowPasswordList.notifyDataSetChanged(); }
3、在AsyncTask中设置listener
public YourTask extends AsyncTask<Object,Object,Object>{ //change Object to required type private OnTaskCompleted listener; public YourTask(OnTaskCompleted listener){ this.listener=listener; } // required methods protected void onPostExecute(Object o){ // your stuff listener.onLoadPaswordAllTaskCompleted(); } }
4、下拉刷新参见博文/article/1562148.html
注意点:
ListView数据更新时,需要使用Adapter对象的notifyDataSetChanged()方法,不能使用ListView对象的refreshDrawableState()或者invalidate()invalidateViews()方法。
参考:http://stackoverflow.com/questions/9963691/android-asynctask-sending-callbacks-to-ui
相关文章推荐
- 个人项目-密码管理-总结一(Android访问AMP)
- 个人项目-密码管理-总结二(常用SQL语句汇总)
- Android实战-个人App乐逗项目(第一阶段:微信精选文章完成与总结)
- android异步UI刷新实例总结(二)--AsyncTask完成状态监控
- 项目管理心得:一个项目经理的个人体会、经验总结
- 在Android上使用Phonegap的个人经验总结及项目中的优化方案
- android 开源项目个人总结
- 项目管理心得:一个项目经理的个人体会、经验总结(zz)
- 项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结
- 完成第一个android APP的UI项目
- 项目管理心得:一个项目经理的个人体会、经验总结【转】
- 项目管理心得:一个项目经理的个人体会、经验总结(转)
- 关于项目管理的个人经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结(转)
- 项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结