Запретить ListView от прокрутки - PullRequest
0 голосов
/ 09 августа 2011

У меня есть скроллвью с линейным макетом. Внутри этого линейного макета есть представление списка. Проблема, с которой я столкнулся, состоит в том, что в моем представлении списка есть только определенное количество места, и затем он становится прокручиваемым. Я не хочу, чтобы это случилось. Я хочу, чтобы весь список был показан. Кто-нибудь знает, как мне этого добиться? Я пытался использовать эту ссылку, однако мой макет не отображается при добавлении нижнего колонтитула. ListView в ScrollView потенциальный обходной путь Это мой код:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="true"
    android:orientation="vertical"
    android:background="@drawable/darkimg"
    android:weightSum="1">

    <LinearLayout
        android:id="@+id/numbersLL"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="@drawable/round_rectangle"
        android:layout_margin="4px"
        android:paddingLeft="6px"
        android:paddingTop="3px">

        <TextView
            android:id="@+id/numberPrint"
            android:layout_height="wrap_content"
            android:textSize="14px"
            android:textStyle="bold"
            android:textColor="@color/white"
            android:layout_width="fill_parent"
            android:text="@string/numberPrint">
        </TextView>

        <ListView
            android:id="@+id/numberListView"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"></ListView>
    </LinearLayout>

</LinearLayout>
</ScrollView>

Это мой нижний колонтитул:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/formLL">

<TextView
    android:id="@+id/numberFormTextViewt"
    android:layout_gravity="center_vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:textSize="20px"
    android:text="Add a number:"
    android:textColor="@color/white" />

<Button
    android:id="@+id/numberFormButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_add"></Button>
</LinearLayout>

И вот код Java для добавления нижнего колонтитула в список:

        LayoutInflater factory = getLayoutInflater();
        LinearLayout numberFooter = (LinearLayout) factory.inflate(R.layout.number_form, null);
        // List of numbers
        numberListView = (ListView) this.findViewById(R.id.numberListView);
        numberListView.addFooterView(numberFooter);

Что здесь не так? Нижний колонтитул не отображается при отображении действия. Я должен упомянуть одну вещь: нижний колонтитул используется для добавления элементов в список над ним. Я не уверен, если это имеет значение, но когда я тестирую это, адаптер списка пуст. Даже все равно должен ли колонтитул появляться в любом случае? Любая помощь будет оценена спасибо.

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Представление списка в представлении прокрутки не работает (означает, что представление списка не прокручивается).

Таким образом, вы можете поместить пустой линейный макет вместо представления списка в вашем XML-файле.В вашем коде, сначала вы можете получить размер представления списка, основываясь на этом значении размера, для цикла можно повернуть.В этом цикле for вы можете вызвать метод get view класса адаптера (этот класс не расширяет какой-либо класс). Это решит проблему представления списка.

0 голосов
/ 09 августа 2011

попробуйте это в вашем списке:

android:layout_height="fill_parent"
...