2011-10-21 14 views
0

TabHostで作成したタブでサブタブを作成することは可能ですか?もしそうなら、どうですか?この場合、私は貴重な情報源や助けを見つけることができませんでした。Androidタブレットを作成するTabHost

おかげ

答えて

2

TabTabActivityを置くことが可能です。

MainTabActivityに2つのTabsがあるとします。最初にTabFirstSubTabActivityを保持し、2番目のTabSecondSubTabActivityを保持することができます。ここで

は一例です:

主な活動:

public class MainTabActivity extends TabActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 
     Intent intent; 

     intent = new Intent().setClass(this, FirstSubTabActivity.class); 
     spec = tabHost.newTabSpec("FirstTab").setIndicator("One").setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, SecondSubTabActivity.class); 
     spec = tabHost.newTabSpec("SecondTab").setIndicator("Two").setContent(intent); 
     tabHost.addTab(spec); 
    } 
} 

まずsubactivity:

public class FirstSubTabActivity extends TabActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 
     Intent intent; 

     intent = new Intent().setClass(this, SomeActivity.class); 
     spec = tabHost.newTabSpec("SubTab").setIndicator("One").setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, SomeOtherActivity.class); 
     spec = tabHost.newTabSpec("AnotherSubTab").setIndicator("Two").setContent(intent); 
     tabHost.addTab(spec); 
    } 
} 

第二subactivity:

public class SecondSubTabActivity extends TabActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 
     Intent intent; 

     intent = new Intent().setClass(this, SomeThirdActivity.class); 
     spec = tabHost.newTabSpec("ThirdSubTab").setIndicator("One").setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, SomeFourthActivity.class); 
     spec = tabHost.newTabSpec("FourthSubTab").setIndicator("Two").setContent(intent); 
     tabHost.addTab(spec); 
    } 
} 
+0

ありがとう、これは手動でサブタブを追加することを示しています。あなたはプログラムで2つのアクティビティを使用せずに作成する方法がありますか? – Waypoint

関連する問題