在视图中使用Android选项卡而不是活动的示例?

Android开发者TabWidget教程说明如下:

“您可以通过以下两种方式之一来实现您的标签内容:使用标签在同一活动中交换视图,或使用标签在完全独立的活动之间切换。

本教程继续演示如何使用带有单独“活动”的选项卡。 我一直无法find在同一个活动中使用具有不同视图的标签的例子。 我不想重新发明这个特定的轮子,所以我希望这里有人知道这是如何做到的,并可以通知我。谢谢!

我想在你想要使用的视图中传递的每个选项卡的.setContent方法中:

TabHost.TabSpec spec1 = tabs.newTabSpec("tag1"); spec1.setContent(R.id.AnalogClock01); spec1.setIndicator("Analog Clock"); 

这是我之前发现的一个例子:

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TabHost android:id="@+id/TabHost01" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TabWidget android:id="@android:id/tabs" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="65px"> <AnalogClock android:id="@+id/AnalogClock01" android:layout_width="wrap_content" android:layout_height="wrap_content"></AnalogClock> <DigitalClock android:text="DigitalClock01" android:id="@+id/DigitalClock01" android:layout_width="wrap_content" android:layout_height="wrap_content"></DigitalClock> </FrameLayout> </TabHost> </LinearLayout> 

而这个例子的Java代码如下:

 import android.app.Activity; import android.os.Bundle; import android.widget.TabHost; public class tabexample extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TabHost tabs = (TabHost)findViewById(R.id.TabHost01); tabs.setup(); TabHost.TabSpec spec1 = tabs.newTabSpec("tag1"); spec1.setContent(R.id.AnalogClock01); spec1.setIndicator("Analog Clock"); tabs.addTab(spec1); TabHost.TabSpec spec2 = tabs.newTabSpec("tag2"); spec2.setContent(R.id.DigitalClock01); spec2.setIndicator("Digital Clock"); tabs.addTab(spec2); } }