Можем ли мы остановить представление группы, чтобы оно не показывало свой childList при прикосновении к нему (для некоторых конкретных случаев) - PullRequest
0 голосов
/ 01 мая 2019

В моем проекте расширяемое представление списка является общим для всех имен входа, но в новом обновлении, основанном на роли пользователя входа в систему, я хочу перестать показывать детей определенных групповых представлений.Мне удалось поставить диалоговое окно «Отказано в доступе», но я не могу остановиться, расширение группового представления или показ дочернего представления.Есть ли способ для этого?

Я попытался передать роль адаптеру класса expandableListAdapter и записать несколько случаев в getChildView, например, если (groupPosition == 1 && role == 1) я надувал пустую компоновку.Таким образом, я не могу предотвратить расширение, дочернее представление все еще отображается, но оно пустое, и при щелчке по нему генерируется исключение нулевого указателя.

1 Ответ

0 голосов
/ 01 мая 2019

Я нашел способ для этого, я вернул количество детей для моих конкретных случаев 0

@Override
    public int getChildrenCount(int groupPosition) {
        Log.e("getChildrenCount", "getChildrenCount");

        if ((this.listDataChild.get(this.listDataHeader.get(groupPosition)) == null)
                || (roleId.equalsIgnoreCase("2") && groupPosition!=1)
                || (roleId.equalsIgnoreCase("3") && groupPosition!=2)
                || (roleId.equalsIgnoreCase("5") && groupPosition!=4)   )
            return 0;
        else
            return this.listDataChild.get(this.listDataHeader.get(groupPosition)).size();
    }

Это сработало для меня Спасибо

...