Согласно документации разработчика Android для пользовательского интерфейса для создания вкладок вам необходимо иметь TabHost и TabWidget, а TabHost должен быть корневым узлом для макета.
Все отлично, я пробовалпример и все хорошо.
Просто глядя на примеры API вкладок, я наткнулся на tabs1.java (http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/Tabs1.html), который не использовал никаких элементов табуляции в макете.
Вот пример рабочего кода, который создает вкладку, без использования какого-либо макета.
public class HelloAndroid extends TabActivity implements TabHost.TabContentFactory {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("tab1").setContent(this));
}
public View createTabContent(String tag) {
TextView text = new TextView(this);
text.setText("tab1");
return text;
}
}
Кто-нибудь может объяснить, как это работает? И чем это отличается от использования подхода, основанного на макете, какобъяснил в учебнике.
Спасибо.