Я работаю над приложением для Android с действием, которое использует макет вкладок. Есть две вкладки, которые переключаются между содержимым, отображаемым в некоторых TextViews.
Это означает, что спецификации двух вкладок указывают на один и тот же макет (линейный) для контента, R.id.plantilla:
<?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="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include layout="@layout/plantilla"/>
</FrameLayout>
</LinearLayout>
But this only works if I switch to tab 2 and back to 1, i.e when the activity launches, the Layout "plantilla" can't be seen before tabs are changed. This is my problem.
Какой самый простой способ обойти это?
ПД: я пытался продублировать строку
<include layout="@layout/plantilla">
в tabhost xml, но в этом случае я не могу получить доступ к объектам TextViews из кода Java, используя findViewById(R.id.someTextView);