2012-05-12 2 views
0

、ボタンによってActivitysからタップ私はStartActivityでTapControlを次ていますスイッチなど

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


    TabHost tabHost = getTabHost(); 

    // Tab for A Tap 
    TabSpec atapspec = tabHost.newTabSpec("ATap"); 
    // setting Title and Icon for the Tab 
    atapespec.setIndicator("ATap", getResources().getDrawable(R.drawable.state_atap)); 
    Intent atapIntent = new Intent(this, ATapActivity.class); 
    atapspec.setContent(atapIntent); 

    // Tab for B Tap 
    TabSpec btapspec = tabHost.newTabSpec("BTap"); 
    btapspec.setIndicator("BTap", getResources().getDrawable(R.drawable.state_btap)); 
    Intent btapIntent = new Intent(this, BtapActivity.class); 
    btapspec.setContent(btapIntent); 



    // Adding all TabSpec to TabHost 
    tabHost.addTab(atapspec); // Adding a tab 
    tabHost.addTab(btapspec); // Adding b tab 


} 

各タップは、独自の活動を持っています。 私の問題は、ボタンを使って次のTap-Activityに切り替えるにはどうしたらいいですか? 私はアクティビティを開始しようとしましたが、タップコントロールが欠落していました。

startActivity(new Intent(this, BTapActivity.class)); 

私はそれがそのようなsometionでなければならないことが見つかりました:

setCurrentTabByTag("BTab"); 

しかし、私は方法がわかりません。

EDIT:

私は "tabHost.setCurrentTabByTag(" BTAP ")を置きます;" onCreateメソッドの最後にBTapが選択されています。したがって正しいコマンドです。しかし、別のアクティビティからは、tabHostにアクセスできません。 私はグローバルオブジェクト、アプリケーションがクラッシュするtabHostを作るとき:このメソッドはStartActivityである

startActivity StartAct = new startActivity(); 
StartAct.setTap("BTap"); 

TabHost tabHost = getTabHost(); 

私はタブの活動から、このようにそれを試してみました

public void setTap(String tap) { 

    tabHost.setCurrentTabByTag(tap); 
} 

どうすればよいですか?申し訳ありませんが、私は初心者です...

答えて

0

TabHostのsetCurrentTab(int index)関数を使用すると、プログラムでタブを開くことができます。

+0

私が忘れたのは、TabHost tabHost =(TabHost)findViewById(android.R.id.tabhost)でした。 – user1390816