Android Spinner сделает несколько строк невидимыми

У меня есть расширяемый список с пользовательским адаптером. С помощью Spinner пользователь может выбрать, хочет ли он видеть только определенные записи. Если он что-то выбирает, я хочу сделать все остальные строки, не соответствующие его запросу, невидимыми / пропавшими.

Я попробовал это внутри моего ListViewAdapters getChildView()

    if (special == 0 || special == Integer.parseInt(home) || special ==   Integer.parseInt(next)) {

        return convertView;
    } else {
         convertView.setVisibility(View.GONE);
        return convertView;
    }

К сожалению, это не похоже на работу. Специальное целое число указывает на выбранный элемент в Spinner, но я получаю только "пустой" ListView со всеми строками в нем, которые являются пустыми. Так что они явно не ушли. Проблема в том, что даже те строки, которые выполняют оператор if, не видны.... кто-нибудь знает лучший подход?

заранее спасибо

1 ответ

Решение

Вы пытаетесь исправить это не в том месте. Вы не хотите изменять возвращаемое дочернее представление (поскольку это должно быть согласовано для отображения данных), вам нужно, чтобы ваш адаптер отфильтровывал данные, которые вы не хотите показывать.

Смотрите этот ответ: /questions/10565348/polzovatelskij-adapter-listview-s-filtrom-android/10565368#10565368

Другие вопросы по тегам