關於Tabhost裏面的內容更新問題

關於Tabhost裏面的內容更新問題今天遇到一個問題,就是有兩個Tabhost,大概意思是第一個Tabhost中收藏的聯繫人會在第二個Tabhost中顯示,但是如果按在oncreate中編寫兩個Tab後三天卻不能自動更新,必須重啓模擬器纔可以,後來經過自己查閱和請教,解決了。

第一種解決方案:複寫onresume方法,然後將之前在oncreate中寫的方法全放在onresume中,使得每更換一次TabHost將重新喚醒一次。

	protected void onCreate(Bundle savedInstanceState) {
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		super.onCreate(savedInstanceState);
	}
	@Override
	protected void onResume() {
		super.onResume();
	
		// 步驟2:創建一個選項卡容器
		TabHost tabHost = this.getTabHost();
		// 步驟3:創建選項卡
		Intent intent = new Intent().setClass(this, UserListActivity.class);
		TabSpec tab01 = tabHost
				.newTabSpec("tab01")
				.setIndicator(
						"聯繫人",
						this.getResources().getDrawable(
								R.drawable.lianxiren))
				.setContent(intent);
		// -------------------------------------------------------------------------
		intent = new Intent().setClass(this, StoreUserActivity.class);
		TabSpec tab02 = tabHost
				.newTabSpec("tab02")
				.setIndicator(
						"收藏",
						this.getResources().getDrawable(
								android.R.drawable.btn_star_big_on))
				.setContent(intent);
		// 步驟4:將創建好的卡片放入到卡片選項容器中
		tabHost.addTab(tab01);
		tabHost.addTab(tab02);
		
	}

   


 第二種解決方案:

在oncreate中寫

mlocalActivityManager = new LocalActivityManager(MainActivity.this,false);
mlocalActivityManager.dispatchCreate(savedInstanceState);
tabHost.setup(mlocalActivityManager);

後在onresume中寫

mlocalActivityManager.dispatchResume();
發佈了24 篇原創文章 · 獲贊 8 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章