2012-03-21 126 views
0

這裏的簡單任務程序是我計劃的概述:如何切換標籤

的Android 2.2

  • MainActivity(tabhost)

4個選項卡

  • 搜索(使用SearchActivity)(默認)
  • 名藝術家(使用ArtistsActivity)
  • 專輯(使用AlbumsActivity)
  • 歌曲(使用SongsActivity)

應用程序加載到默認的搜索選項卡和SearchActivity。我可以輸入搜索字符串並單擊搜索(這將數據存儲在全局變量類中)。現在,當我手動點擊「藝術家」選項卡時,它將加載ArtsActivity和適當的視圖,並從此全局變量類中獲取數據並執行其他操作。

我可以手動點擊所有標籤並在標籤之間切換就好了。

但是,如果我使用任何類型的setCurrentTab命令自動切換到用戶的下一個選項卡,程序將崩潰並出現空指針異常。

我嘗試了多種不同的方法,我在網上找到,而不是他們中的一個人工作。

這些應用程序完全適用於手動點擊標籤作爲用戶。但我需要將此能力編程爲自動發生。

舉例哪些需要自動發生: 應用Loads-> SearchTab->中搜索字符串用戶類型和點擊搜索按鈕 - > ArtistsTab

它沒有任何意義。爲什麼我不能編程自動切換到下一個選項卡的功能,我可以通過單擊它來手動切換到下一個選項卡?它已經工作得很好,我只需要在代碼中複製單擊這些選項卡的操作,以便用戶不必手動單擊下一個選項卡。

任何人有任何建議嗎?

+0

後一些代碼和logcat的 – Barak 2012-03-21 20:51:41

+0

我得到了它的工作調用的setCurrent標籤訪問靜態tabwidget。謝謝。見下文。 – user1284430 2012-03-22 13:04:56

回答

0

聲明你tabhost/tabwidget靜態和從活動 EX-

TabActivity.tabhost.setcurrentTab(1); 
+0

我一直在試圖接收空指針異常。我確實找到了一個解決方案,但我會在下面發帖。 在標籤活動: 'TabHost tabHost =(TabHost)的getParent()findViewById(android.R.id.tabhost);' 在OnClickListener: 'tabHost.setCurrentTab(1);' 它出現getParent()之前findViewByID是解決此問題所必需的。 所以我只是在使用第一行的每個選項卡活動中聲明一個tabHost,並且能夠在標籤之間完美切換。 – user1284430 2012-03-21 21:48:23