android在一个活动中改变TabWidget之外的textview

时间:2011-11-15 10:25:34

标签: android textview android-tabhost tabactivity tabwidget

我有一个带有几个标签的应用程序,这些标签都属于同一个TabHost。除了扩展TextView的主要活动之外,有没有办法在android:text之前的任何活动中更改TabWidget TabActivity值?

这是我的main.xml

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/sigma_darkgray">
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/title_color"
            android:text="Home page"
            android:textStyle="bold"
            android:paddingTop="6dip"
            android:paddingBottom="6dip"
            android:gravity="center_horizontal"
            android:textAppearance="?android:attr/textAppearance"/>
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingTop="1dip"
            android:background="@color/title_color"/>
        <View android:id="@+id/separator" 
            android:background="#ffffff"
            android:layout_width = "fill_parent"
            android:layout_height="1dip"
            android:layout_centerVertical ="true"
            android:layout_alignParentTop="true"/>     
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"/>
    </LinearLayout>
</TabHost>

2 个答案:

答案 0 :(得分:2)

是的你可以。 只需将id提供给TextView即可。并在MainActivity中声明该textview的引用,其中TabActivity是扩展的。

现在在另一个子活动中您可以使用MainActivity.textview对象调用该textView。

现在,您可以更改textView的TextValue,它可以从子活动中完成。

享受。

答案 1 :(得分:2)

在从TabHost开始的活动中

((MyParentActivity)getParent()).setYourText("whatever")

您必须在其中创建“setYourText(String text)”方法。