Есть что-то, чего я просто не получаю, и я ищу помощь в понимании того, что здесь происходит.Custom Listview Adapter, добавляющий статический нижний колонтитул и понимание R.id.list
У меня есть адаптер пользовательского списка (который просто расширяет BaseAdapter), который я успешно использовал для создания и отображения списка. Теперь я хочу добавить статический нижний колонтитул в конец моего списка. Посмотрев на ряде ресурсов (в частности, this one) я пришел к выводу, что мое нежелание использовать XML должен прийти к концу, и установить следующую структуру XML в файле с именем devices_list.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout android:id="@+id/bottom_control_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<ToggleButton android:id="@+id/bottom_control_toggle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textOff="Filter Favourites OFF"
android:textOn="Filter Favourites ON"/>
</LinearLayout>
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_above="@id/bottom_control_bar">
</ListView>
<TextView android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/main_empty_list"
android:layout_above="@id/bottom_control_bar"/>
</RelativeLayout>
После некоторых корректировок к деятельности, которая содержит список, я побежал код. Я вижу свой подвал, (а также вкладка виджет, который является родителем для всего), но область, где список идет пуста.
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
this.setContentView(R.layout.devices_list);
db = new DbManager(this);
db.open();
AllCur = db.fetchAllDevices();
startManagingCursor(AllCur);
list = new DeviceListAdapter(this, AllCur); //make my custom list adapter
setListAdapter(list);
}
Есть ли способ связать виджет ListView, объявленный в моем xml, с моим адаптером DeviceList? Теперь мне совершенно ясно, что я не являюсь entir что все работает. Любая помощь в разъяснении будет высоко оценена.
Я столкнулся с подобными проблемами некоторое время назад, и мой адаптер вызвал проблему. Попробуйте просмотреть список и отобразите сначала массив xml, определенный как ресурс, который должен отображаться просто отлично. – Pentium10
Я не совсем уверен, что вы предлагаете здесь - если у меня есть xml-массив, это не помогает мне, поскольку я хочу использовать свой собственный адаптер массива, который использует курсор, который я ему поставлю. Для funsies я помещал XML, который я пытался сделать в примере Notepad (который использует SimpleCursorAdapter и пару XML-массивов), и мой нижний колонтитул не возник. Итак, основываясь на этом, есть ли у вас какие-либо намеки на то, как ваш адаптер вызвал проблему? – Aurora