#android #android-layout
#Android #android-макет
Вопрос:
Я использую MergedAdapter для группировки двух пользовательских адаптеров (производных от ArrayAdapter) вместе с заголовком раздела для каждого из них в единый ListView. Он работает нормально, но теперь мне нужно отобразить текстовое представление с надписью «Нет данных» для раздела, в котором нет элементов, например, ArrayAdapter пуст.
Каков наилучший подход для этого? Код, который устанавливает привязку ListView, выглядит следующим образом:
ArrayList<ItemOne> firstItems = getFirstGroupItems();
ArrayList<ItemTwo> secondItems = getSecondGroupItems();
ItemOneAdapter firstAdapter = new ItemOneAdapter(this, this.firstItems);
ItemTwoAdapter secondAdapter = new ItemTwoAdapter(this, this.secondItems);
MergeAdapter adapter = new MergeAdapter();
adapter.addView(createGroupSeparator(R.string.first_section_header)); //Just creates a TextView
adapter.addAdapter(firstAdapter);
adapter.addView(createGroupSeparator(R.string.second_section_header)); //Just creates a TextView
adapter.addAdapter(secondAdapter);
listView.setAdapter(adapter);
Ответ №1:
В случае пустого списка вы могли бы сделать так, чтобы первый элемент читался как «Нет данных», но обычно это делает код неуправляемым. Я бы посоветовал вам добавить невидимый TextView на ваш экран с сообщением; это отображается только тогда, когда список пуст.
Комментарии:
1. Для того, чтобы весь список был пустым, я могу это сделать, но я хочу делать это для каждого адаптера, который я добавляю в MergeAdapter.