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)就可以了。
原創帖,轉發請注明出處:http://thierry-xing.iteye.com/blog/1630687
轉載于:https://www.cnblogs.com/shellnalu/p/3731454.html
總結
以上是生活随笔為你收集整理的TabHost刷新activity的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.%@Page%中的Codebehin
- 下一篇: 【转】shell学习笔记(一)——学习目