#android #android-tabhost
#Android #android-tabhost
Вопрос:
можно ли создавать вложенные вкладки во вкладках, созданных TabHost? Если да, то как? Я не смог найти никакого ценного источника или помощи в этом деле.
Спасибо
Ответ №1:
Можно поместить a TabActivity
внутри a Tab
.
Допустим , у вас есть MainTabActivity
с двумя Tabs
. Tab
Затем первый может удержаться FirstSubTabActivity
, а второй Tab
может удержаться SecondSubTabActivity
.
Вот один из примеров:
Основная деятельность:
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 );
}
}
Первая подактивность:
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 );
}
}
Вторая подактивность:
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 );
}
}
Комментарии:
1. Большое спасибо, здесь показано ручное добавление вложенных вкладок, есть ли у вас какие-либо идеи, как сделать это программно, не используя еще 2 действия?