0

TabActivity の問題に直面して、私は 5 つのタブを 5 つの tabActivity から 1 つのタブに持っており、ACTION_VIEW で Intent を使用して YouTube ビデオを再生しています。そのタブを初めて選択すると、ブラウザが開いてビデオが再生されますが、次回は応答しません。私はたくさん試します。解決策があれば、私と共有してください。

これは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);


 }
4

1 に答える 1

0

Finlayは何度も試した後、解決策を見つけました。TabActivityによって拡張されたクラスのonchangeメソッドを上書きし、ACTION_VIEWインテントを呼び出します

    @Override
            public void onTabChanged(String tabId) {
                if(tabId.equals("surprise")) {
                    startActivity(getYouTubeIntent(MainTabbarScreen.this, "http://www.youtube.com/watch?v=6KKXVbJCKEo"));
                }
             }
        });
于 2012-08-23T07:26:20.023 に答える