Сделать дополнительный класс, который расширяет TabActivity
и сделать этот класс основной деятельности.
Чтобы сделать это в вашем XML явить вам будет включать в себя:
<activity android:name=".TabActivtyClass" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
В этом классе вы бы написать что-то вроде:
public class TabActivtyClass extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = getTabHost(); // The associated TabHost
// Create an Intent to launch given Activty for this tab
Intent i = new Intent().setClass(this, FirstActivty.class);
TabHost.TabSpec spec = tabHost.newTabSpec("tab_name").setIndicator("Tab Name").setContent(i); // <- references the intent we just created
tabHost.addTab(spec);
// And do the same for the other tabs ...
}
}
Этот класс TabActivty может быть большим или маленьким, как вы бы хотели, но обычно это был бы полный экран, при этом каждая вкладка «Активность» загружалась в основную часть экрана, например: Example http://developer.android.com/resources/tutorials/views/images/hello-tabwidget.png
P.S. Также имейте в виду, что редактор макетов Eclipse не работает с вкладками. Это a bug which has already been logged.
"... каждый с другой деятельности" - вы, вероятно, означает разные "View". –
Расширение 'TabActivity' необходимо только для основной операции, на которой размещаются вкладки. Все остальные действия на вкладках могут просто расширить Activity, и они будут работать просто отлично. – codinguser