Отображение пустого сообщения для раздела в MergedAdapter

#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.