Возникло исключение: вы должны вызвать removeView при создании фрагмента

Я получаю «У указанного дочернего элемента уже есть родитель. Сначала вы должны вызвать removeView () для родителя дочернего элемента». выбрасывается сразу после вызова моего метода onCreateView.

ИнкомендФрагмент

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View v = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_inkomend,
                container);
        return v;
    }

person Bart Burg    schedule 15.04.2014    source источник
comment
вы тоже можете это сделать: View v = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_inkomend, container , false);   -  person Shayan Pourvatan    schedule 15.04.2014


Ответы (2)


Мне потребовалось много времени, чтобы узнать

Правильный синтаксис:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_inkomend,
            null);
    return v;
}

видимо в параметр "root" ничего ставить не надо.

person Bart Burg    schedule 15.04.2014

Попробуй это..

Ниже также правильный синтаксис

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_inkomend, container, false);
    return v;
}
person Hariharan    schedule 15.04.2014
comment
Ты прав. Что было бы лучше? Кажется, контейнер ViewGroup не нужен, верно? - person Bart Burg; 15.04.2014
comment
@BartBurg Да, то же самое, что и инфлятор, в том же LayoutInflater в конструкторе onCreateView. Нет необходимости надувать снаружи. - person Hariharan; 15.04.2014