在Tabs中无法获得不同的视图

时间:2009-12-29 21:37:05

标签: android textview tabwidget

我有一个带有2个标签的应用,第一个是列表视图,第二个我正在尝试制作TextView。问题是我不知道如何让TextView显示出来。 listview正在运行,但我根本无法在TextView上获得任何内容。我尝试使用Hello,World尝试使用文本进入选项卡,但我无法弄明白。

我的带有TabWidget的main.xml部分如下所示:

    <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <ListView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:id="@+id/itemlist" />
            <TextView 
                android:id="@+id/HelloAndroid"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"/>
        </FrameLayout>

使用mTabHost代码

在java文件上使用ListView
        TabHost mTabHost = getTabHost();

    mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("Answer").setContent(R.id.itemlist));
    mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(R.id.HelloAndroid));

    mTabHost.setCurrentTab(0);
}

TextView位于另一个名为HelloAndroid.java的文件中,代码如下:

public class HelloAndroid extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android");
       setContentView(tv);
   }
}

如何修复它以便第二个选项卡显示示例文本? 谢谢!

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望将HelloAndroid活动显示为第二个标签的内容。如果我是对的,而不是这个:


    mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(R.id.HelloAndroid));
 

你应该这样称呼:


 Intent i = new Intent(this, HelloAndroid.class);
 mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Ask").setContent(i));
 

但是你必须记住,HelloAndroid活动与布局文件中的TextView没有任何共同之处。  因此,最好不要将活动设置为选项卡内容,而是更改布局文件中文本视图的值。

PS。请记住将HelloAndroid活动放到Manifest.xml