Android прокручиваемая таблица с фиксированным заголовком, делает фиктивные строки невидимыми
Я знаю, что было несколько сообщений об этом, но я не могу заставить это работать. Я хочу таблицу с заголовком, который остается видимым при прокрутке содержимого таблицы. Мне нравится этот подход: http://www.entreotrascosas.net/creating-dynamic-scrollable-fixed-header-tables-in-android/
Вот мой xml. Я получил два TableLayouts, один для заголовка и один для содержимого. Я заполнил их по одному ряду, layout_height
установлен в 0dp
,
<TableLayout
android:id="@+id/headerLayout"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/hiddenLongestRow"
android:layout_width="wrap_content"
android:layout_height="0dp" />
</TableLayout>
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/headerLayout"
android:fadeScrollbars="false" >
<TableLayout
android:id="@+id/contentLayout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:id="@+id/hiddenHeaderRow"
android:layout_width="wrap_content"
android:layout_height="0dp" />
</TableLayout>
</ScrollView>
Затем я программно заполняю таблицы своими значениями, а строки, указанные в моем xml, фиктивными значениями для заголовка / самой длинной строки. Теперь столбцы обеих таблиц имеют одинаковую ширину. Все идет нормально.
Но теперь мне нужно, чтобы два пустых ряда исчезли. Было сказано, что установка высоты 0dp
сделал бы это, но для меня это не так, строки всегда видны.
Я попытался программно установить высоту LayoutParams на 0, но это не помогло. Установка видимости невидимым или унесенным не делает работу. Что еще я могу сделать?
1 ответ
Вы можете попытаться удалить это:
TableRow row = (TableRow)findViewById(R.id.hiddenHeaderRow);
table.removeView(row);