2012-08-16 68 views
0

面臨TabActivity的問題,我有5個選項卡在可能tabActivity到一個選項卡我正在播放YouTube視頻使用意圖ACTION_VIEW。當我第一次選擇該選項卡時,打開瀏覽器並播放我的視頻,但下次沒有迴應我。我嘗試了很多。如果您有任何解決方案,請與我分享。TabActivity打開意圖與ACTION_View在android

這是代碼的形式TabActivit

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     getWindow().setWindowAnimations(0); 

     tabHost = getTabHost(); 
     tabHost.setup(); 

     extras = getIntent().getExtras(); 

     int isFetched = extras.getInt("IsFetched", 0); 

     Resources res = getResources(); 

     Intent t0 = new Intent(this, HomeTabGroup.class); 
     t0.putExtra("IsFetched",isFetched); 

     tabHost.addTab(tabHost.newTabSpec("Home") 
       .setIndicator(prepareTabView(this, "0", res 
         .getDrawable(R.drawable.hometab))) 
       .setContent(t0)); 

     tabHost.getTabWidget().setBackgroundResource(R.drawable.bg_nav); 
     // Intent t1 = new Intent(this, SurprizeMeTabGroup.class); 
     Intent t1 = new Intent(this, SurpriseScreen.class); 
     tabHost.addTab(tabHost.newTabSpec("surprise") 
       .setIndicator(prepareTabView(this, "1", res 
         .getDrawable(R.drawable.surprizetab))) 
       .setContent(t1)); 




     tabHost.setCurrentTab(0); 

     HomeTabGroup.group.tabHost = this.tabHost; 

以下是我SurpizeScreen

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.surprise_screen); 
     Intent intent = getYouTubeIntent(this, "http://www.youtube.com/watch?v=6KKXVbJCKEo"); 
     startActivity(intent); 


} 
+0

你嘗試移動'startActivity()',其目的則必須是一個成員變量,到了'的onResume()'? – 2012-08-16 09:20:23

回答

0

芬利的代碼多次嘗試後,我找到了解決方案。 覆蓋類的由TabActivity擴展的方法電平變化,並調用ACTION_VIEW意圖

@Override 
      public void onTabChanged(String tabId) { 
       if(tabId.equals("surprise")) { 
        startActivity(getYouTubeIntent(MainTabbarScreen.this, "http://www.youtube.com/watch?v=6KKXVbJCKEo")); 
       } 
      } 
     });