РЕДАКТИРОВАТЬ: я решил # 2 ниже, просто изменив фон родительского ScrollView TextView.
Я весь день гуглял, но никак не могу найти ответ на этот вопрос. Это должно быть просто.
Мое действие содержит фрагмент, состоящий из элемента управления с вкладками (TabHost, TabWidgets и т. Д.). На каждой вкладке находится простой прокручиваемый TextView. Идея состоит в том, чтобы иметь несколько вкладок с различными категориями текста, которые пользователь может прокручивать. Я смог настроить вкладки и тому подобное, но у меня есть две проблемы, которые я не могу решить.
1) Я не могу понять, как программно изменить содержимое TextView вкладки (из Activity, которой принадлежит фрагмент). Я попытался создать FragmentManager в своей активности хоста, найти фрагмент, привести его к классу фрагмента, а затем вызвать функцию внутри класса фрагмента, которая должна изменить текст. Эта функция просто делает это:
TextView textView = (TextView)tabHost.getTabWidget().getChildAt(tabNumber).findViewById(R.id.dashboard_fragment_4_textView);
if(textView!=null) textView.setText(text);
Это не работает; textView всегда возвращается как ноль.
2) Кажется, проблема с макетом. Мой TextView на каждой вкладке не заполняет родительский элемент; это просто оборачивает текстовое содержимое. Это не так уж сложно, но я хочу, чтобы вся область экрана, доступная для TextView, имела определенный цвет фона. Может быть, есть лучший способ справиться с этим ??? Как иметь прозрачный фон TextView, а затем что-то позади TextView с правильным цветом? Я не знаю .... Я достигаю.
Вот макет xml для каждой вкладки:
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabHost"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:gravity="left"
android:layout_weight="0" />
<FrameLayout android:id="@android:id/tabcontent"
android:layout_height="match_parent"
android:layout_width="0dp"
android:layout_weight="1">
<ScrollView
android:id="@+id/dashboard_fragment_4_scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/dashboard_fragment_4_textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/Linen"
android:textColor="@color/Black"
android:textSize="20dp"
android:text="TextView" />
</ScrollView>
</FrameLayout>
</LinearLayout>
Спасибо за любые предложения !!
Bryan