Почему TableRows с TextViews не отображаются внутри TableLayout, если количество TableRows превышает определенное число?

Это моя первая попытка написать "простое" приложение для Android. К сожалению, я понял, что мое приложение, которое отображает контент из CSV-файла, на моем galaxy sIII mini выглядит иначе, чем AVD. Странно то, что в AVD все - например, 400 - записи в файле CSV могут отображаться правильно. В отличие от моего смартфона, где TableLayout, состоящий из TableRows, включая TextViews, не показывает никаких значений (ошибки не возникает). Если я изменю количество строк в CSV-файле (например, с 400 на 80), на экране смартфона будут отображаться TextViews. Странно также то, что контент, который не отображается, присутствует, но не виден. Если я нажимаю на экран моего смартфона, вызывается событие щелчка, и в выводе журнала я вижу, что значения выводятся на консоль.

TableRows и TextViews добавляются во время выполнения. Количество TextViews зависит от количества столбцов, а количество TableRows зависит от записей в файле CSV. "FirstAddressRow" заполняется заголовками столбцов.

Вот мое определение макета используемого объекта деятельности:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/background_panel">
    <Button android:layout_width="fill_parent" android:layout_height="40dp" android:onClick="updateCanvas" android:text="Update"/>
    <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true"
            android:scrollbars="vertical">
        <LinearLayout android:id="@+id/linearLayout"
                      android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:orientation="vertical">
            <HorizontalScrollView android:id="@+id/horizontalScrollView"
                                  android:layout_width="wrap_content" android:layout_height="wrap_content">
                <TableLayout
                        android:id="@+id/addressTable"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:padding="10dp"
                        android:orientation="horizontal"
                        android:alpha="0.9">
                    <TableRow
                            android:id="@+id/firstAddressRow">
                    </TableRow>
                </TableLayout>
            </HorizontalScrollView>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

Кто-нибудь знает, где моя ошибка? Я подумал, что, может быть, мне придется обновить или обновить макеты и виды снова, но ни одна "недействительная" или функция обновления не прошла успешно.

Кнопка, которую я вставил сверху, была просто экспериментом. Метод updateCanvas удаляет только некоторые TableRows, и странная вещь состоит в том, что, если достаточно TableRows было удалено, я снова вижу TextViews. И я знаю, что уже упоминал об этом во введении, но с AVD он работает нормально. Я был бы очень признателен, если бы кто-нибудь смог мне помочь... Это так расстраивает...

Если вам нужно больше информации или больше кода, чем, пожалуйста, дайте мне знать.

0 ответов

Другие вопросы по тегам