listview addFooterView проблемы - PullRequest
       8

listview addFooterView проблемы

14 голосов
/ 18 октября 2010

У меня есть контент, который мне нужно отображать над моим списком и ниже, настолько, что было бы здорово использовать скролл-просмотр, если бы вы могли использовать скролл-просмотр и просмотр списков вместе. Поскольку это не лучшее решение, я пытался сделать несколько вещей, чтобы добавить содержимое нижнего колонтитула в мой список просмотра,

здесь на рисунке ниже показано, что происходит, когда я добавляю строку другого типа в качестве последней строки. Я не могу получить содержимое, чтобы заполнить ширину строки

alt text

У меня есть пара кнопок, которые нужно ввести в нижний колонтитул. Я использую пользовательский адаптер, который расширяет BaseAdapter.

Я также пытался использовать addFooterView, но я запутался, как использовать метод addFooterView, если вы реализуете свой собственный адаптер. У всех есть простые примеры реализации addFooterView на пользовательском адаптере

или

есть ли способ, которым я могу получить строку в этой позиции (как показано на рисунке) для лучшего отображения, вот код, который я использую для создания этой строки нижнего колонтитула

        View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null);
        LinearLayout ll = (LinearLayout) v.findViewById(R.id.ll);
        return ll;  // return ll as convertView in getView function

редактирование:

вот XML для моего макета нижнего колонтитула

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:background="@drawable/red" android:orientation="vertical" android:id="@+id/ll">
    <Button android:id="@+id/specialInsButton" style="@style/button" android:text="Add Special Instructions" android:layout_width="fill_parent"/>
    <Button android:id="@+id/addToBagButton" style="@style/button" android:text="Add To Bag"/>
    <EditText android:id="@+id/quantity" style="@style/standard" android:text="1"/>
</LinearLayout>

вот XML для стиля / кнопки

<style name="button">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">fill_parent</item>
        <item name="android:textSize">17px</item>
        <item name="android:textStyle">bold</item>
        <item name="android:typeface">sans</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_gravity">center</item>

    </style>

стандартный стиль

 <style name="standard">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
    </style>

1 Ответ

52 голосов
/ 18 октября 2010

Вы можете использовать addFooterView с пользовательским адаптером.Обязательно вызовите addFooterView перед вызовом listview.setAdapter ().

View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null);
listView.addFooterView(v);
listView.setAdapter(adapter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...