Проблемы с listview addFooterView
У меня есть контент, который должен отображаться выше моего списка и ниже, настолько, что scrollview был бы полезен, если бы вы могли использовать scrollviews и listviews вместе. Поскольку это не лучшее решение, я пытался сделать пару вещей, чтобы добавить контент нижнего колонтитула в свой список,
здесь ниже показано, что происходит, когда я добавляю другой тип строки в качестве последней строки. Я не могу получить свой контент, чтобы заполнить ширину строки
![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
Вы можете использовать addFooterView с пользовательским адаптером. Просто не забудьте сделать вызов addFooterView перед вызовом listview.setAdapter().
View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null);
listView.addFooterView(v);
listView.setAdapter(adapter);