Фрагмент - невозможно добавить дочерний вид, говорит, что у ребенка уже есть родитель - PullRequest
0 голосов
/ 01 декабря 2018

Во фрагменте: я пытаюсь добавить представление, но получаю ошибку Исключение IllegalStateException.

Следующее решение, которое я пробовал:

1) Решение один

2) Сначала вызовите removeView () для родительского элемента дочернего элемента

3) У указанного дочернего элемента уже есть родительский элемент.Сначала вы должны вызвать removeView () на родительском объекте ребенка (Android)

После того, как все вышеперечисленное решение все еще получало ту же ошибку.

Вот мой код:

Fragment.java:

 View kidInfoView = getLayoutInflater().inflate(R.layout.include_kid_info_layout,null,false);

        if (onCollapsingToolbarLayout().getParent() !=null) {
           ViewGroup parent = (ViewGroup) onCollapsingToolbarLayout().getParent();
           parent.removeView(kidInfoView);
            onCollapsingToolbarLayout().addView(kidInfoView); <-- getting error here
        }

@Override
    public CollapsingToolbarLayout onCollapsingToolbarLayout() {
        collapsingToolbarLayout.setVisibility(View.VISIBLE);
        return collapsingToolbarLayout;
    }

Что я делаю не так?пожалуйста, предложите.

1 Ответ

0 голосов
/ 01 декабря 2018

Если вы хотите добавить некоторое представление на сворачивающейся панели инструментов, вам нужно написать код следующим образом.View idInfoView = getLayoutInflater().inflate(R.layout.include_kid_info_layout, onCollapsingToolbarLayout(), true);

я не знаю, что вы делаете, если условие.

вы получаете родителя collepsingtoolbar, и от этого родителя вы вызываете функцию удаления представления в kidInfoView (как первый ребенок)(который надувается двумя утверждениями выше и не добавляется к родителю).после этого вы добавляете kidInfoView в collapsingtoolbar (но kindInfoView не имеет соответствующих параметров макета.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...