蓝少泽

天生我材必有用,千金散去还复来。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天,在修改以前同事的项目《供热世界》的时候,利用ActivityGroup和Tab切换Activity之后,发现返回后的Activity列表Item点击事件消失,原因是Intent增加了Intent.FLAG_ACTIVITY_SINGLE_TOP属性,为Activity设置这种启动模式之后,已存在的位于Task栈顶的Activity将不再重新创建,而是重复利用,节省资源和增加用户体验。

却造成了点击事件的未响应,必须重新加载以后才能响应。利用Log日志,发现Activity返回后调用了onNewIntent()方法,于是在这个方法中利用handler,发送消息,将Adapter、ListView全部刷新,并不是冲洗加载数据,只是调用adapter.notifyDataSetChanged()和myListView.invalidate()完美解决,只是形势上假装有新数据,通知适配器响应数据变化,从而重新获取焦点。

posted on 2013-02-05 11:27  蓝少泽  阅读(472)  评论(2编辑  收藏  举报