2012-08-16 64 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")); 
       } 
      } 
     });