今天应老板的要求在却换TabHost的item的时候需要实现即时刷新,即每进入一个activity里面都必须重新更新ui,刚开始一听我就认为很简单,到做的时候才发现原来不走OnResume()生命周期,好家伙可把我给坑惨了,我在老板面前说分分钟搞定,哎,没办法继续研究代码看能不能解决呗天无绝人之路,总算让我找到方法实现这个功能了,没在老板面前丢脸啊。
首先是这个方法写在TabHostActivity里面:tabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
// TODO Auto-generated method stub
if(tabId.equals("tab1")){
}else if(tabId.equals("tab2")){
}else if(tabId.equals("tab3")){
sendBroadcast(new Intent("cn.etzmico.broadcastreceiverregister.SENDBROADCAST"));
}else if(tabId.equals("tab4")){
}
}
});
其次就是在你需要更新的activity里面注册一个动态广播:
private BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Toast.makeText(context, "myReceiver receive", Toast.LENGTH_SHORT)
// .show();
//更新ui的方法
initData();
}
};
好了就是这么简单,但却让我忙活了一下午啊!!!,有不明白的可以给我留言,我经常在线!!!!!!!