2011-10-13 54 views
0

ShareMarketActivity.java此處理選項卡,TAB1,TAB2,Tab3.java文件.....該負載其加載第一標籤機器人回到特定的標籤

在TAB3

(組合)當u點擊公司它移動到另一個窗口,我想要做的是,當你點擊新窗口上的按鈕時...它應該再次加載標籤,並且它移動到Tab3。

back.setOnClickListener(new Button.OnClickListener(){ 

       @Override 
       public void onClick(View arg0) { 
        // TODO Auto-generated method stub 
        startActivity(new Intent("android.intent.action.ShareMarketActivity")); 
       } 

      }); 

因此,這將再次加載標籤和顯示TAB1作爲起始標籤。不是Tab3。我想要的是...... **加載ShateMarketActivity並立即移動到Tab3 **(在第一次加載時我希望Tab1成爲第一次加載不是Tab3)

+0

[哈瓦在這裏回答一下](http://stackoverflow.com/questions/6532455/set-a-tab-from-an-activity/6532564#6532564) –

回答

0

您可以使用tab主機的setCurrentTab方法。

mTabHost.setCurrentTab(2); 
0

您需要做的事情在下面簡要列出。我沒有提供任何代碼,但它應該很簡單。

  1. 當您導航到新窗口時,請不要瀏覽駐留在TAB主機中的子活動。調用getParent(),然後從Parent的TabActivity中啓動新的Activity。
  2. 使清單中的Tab launchmode成爲SingleTask。
  3. 您不能捕獲在TabHost在onActivityResult活動的結果,然後調用子活動使用getCurrentActivity()

的理由讓你看到的行爲是傳播完成的結果是標籤實際上是一個ActivityGroup中爲每個TAB嵌入了多個活動。一旦您從任何一個子Activity調用一個新的Activity,然後返回,Activity堆棧就會丟失Activity Group並將調用活動列爲父級,因此您只會將TAB3活動視爲唯一的活動。

讓我知道如果這沒有幫助。