2011-11-15 27 views
2

我有一個應用程序,它們都屬於同一個TabHost。除了延伸TabActivity的主要活動之外,是否有任何方法可以在TabWidget之前更改TextViewandroid:text的值?android在TabWidget之外更改一個活動內的textview

這是我的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> 
+1

你想做什麼? –

+1

你想讓你想改變另一個活動,然後MainActivity的TextView的值?對 ?? –

+0

我想從子活動中更改TextView的'text'值,而不是具有內容main.xml的'TabActivity'。 – iCantSeeSharp

回答

2

當然可以。 只需將該ID提供給TextView即可。並在MainActivity中聲明該textview的引用,其中即TabActivity是擴展的。

現在在另一個子活動中您可以使用MainActivity.textview對象調用該textView。

現在,在這裏你可以改變textView的TextValue,它是從兒童活動完成的。

享受。

+0

我想你的意思是在主要活動'public void changeTextView(String newText)'中創建一個方法,並在主Activity類中定義'TextView _myTitle',對吧? – iCantSeeSharp

+1

U可以爲它製作方法,或者如果不想製作方法,那麼也可以直接更改文本。 –

2

在活動從TabHost

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

,你必須創建 「setYourText(字符串文本)」 方法開始。

+0

如果你快幾分鐘,我會接受你的答案,兩個答案都是一樣的,謝謝! – iCantSeeSharp

+0

你如何根據他的建議取回父母的活動?另外,我不認爲通過「MyActivity.textviewReference」直接訪問另一個Activity的字段是不錯的做法。這可能會讓追隨他答案的新人感到困惑。無論如何,很高興你解決了你的問題。 – Maragues

相關問題