在 Android Studio 中阅读标签内容

Read Tab content in Android Studio

在 Android Studio 中的 java 代码中,我有一个简单的选项卡结构,结构如下:

<TabHost
    android:id="@android:id/tabhost"
    ....>
    <LinearLayout
        ....>
        <TabWidget
            android:id="@android:id/tabs"
            ....>
            <TextView
                ...
                android:text="tab0" />
            <TextView
                ...
                android:text="tab1" />
        </TabWidget>
        <FrameLayout
            android:id="@android:id/tabcontent"
            ...>
            <TextView
                android:id="@+id/textView_0"
                android:text="content0"
                ..../>
            <TextView
                android:id="@+id/textView_1"
                android:text="content1"                 
                ..../>
        </FrameLayout>
    </LinearLayout>
 </TabHost>

在我的代码的一部分中,我需要阅读 TextVeiw 的内容。 虽然我可以用下面的代码阅读标签标题,但我找不到访问标签内容的方法(我可以在手机屏幕上看到内容

...
TabWidget tab_widgets = tabHost.getTabWidget();
FrameLayout tab_contents = tabHost.getTabContentView();

for (int index = 0; index < tab_widgets.getChildCount(); index++) {

  //access tab's title: Works OK !!
  View v_title = 
    tab_widgets.getChildAt(index).findViewById(android.R.id.title);
  TextView tv_title = (TextView) v_title;

  //access tab's content: NOT working ??
  View v_content = 
    tab_contents.getChildAt(index).findViewById(android.R.id.title);
  TextView tv_content = (TextView) v_content; // It is always NULL
}

有这方面的想法吗?我如何阅读选项卡内的文本 body?

tab_contents.getChildAt(index).findViewById(android.R.id.title); 需要一些更改:

一个。使用您的自定义 id,在本例中为 textView_0textView_1 确保使用 R.id. 而不是 android.R.id

乙。使用 getChildAt() 或 findViewById(),而不是两者

喜欢:tab_contents.getChildAt(index)tab_contents.findViewById()