2013-2-5 Activity跳转,解决已存在Activity未刷新,导致列表点击事件不响应问题

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

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

你可能感兴趣的:(Activity)