`
张玉龙
  • 浏览: 723129 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

[转]Android tabHost 刷新Activity

 
阅读更多
在android中,使用tabHost的时候,如果tab被点击,该tab所对应的activity被加载了,从别的tab切换回来的时候,activity不会再次被创建了(onCreate),所以要想每次点击tab都刷新activity,有如下方法:


方法1 把要刷新的对象添加到



@Override

public void onResume() {

super.onResume();

//代码

}

 

每次切换tab,该activity会调用次方法


但是这个方法有个问题,如果在此方法中加载下个activity,在这里,我们起名叫activity2。当activity2结束时,调用finish()方法,此时tab所对应的那个activity仍然会执行onResume()方法,重新刷新数据。


如果想避免这种情况,使用方法2:


tabHost.addTab(tabHost.newTabSpec(0 + "").setIndicator(tv1).setContent(new Intent(this, NewsActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));

tabHost.addTab(tabHost.newTabSpec(1 + "").setIndicator(tv2).setContent(new Intent(this, VideoActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));



 使用 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)就可以了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics