在 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_0
或 textView_1
确保使用 R.id.
而不是 android.R.id
乙。使用 getChildAt() 或 findViewById(),而不是两者
喜欢:tab_contents.getChildAt(index)
或 tab_contents.findViewById()
在 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_0
或 textView_1
确保使用 R.id.
而不是 android.R.id
乙。使用 getChildAt() 或 findViewById(),而不是两者
喜欢:tab_contents.getChildAt(index)
或 tab_contents.findViewById()