Не найдено представления для идентификатора "bla bla bla" для грамматически созданного framlayout

Я создаю раскладку фрейма программно. Затем я программно создаю фрагмент.. Затем я хочу добавить фрагмент в раскладку фрейма.. этот процесс происходит каждый раз, когда я нажимаю кнопку. Для идентификатора framelayout и тега фрагмента я создал целочисленную переменную приращения ("id" инициализируется как "0" в начале).

Когда я нажимаю кнопку new framelayout с новым идентификатором create, создаю фрагмент с новым тегом, к этому framelayout добавляется фрагмент... И спорные перекрывающиеся представления..

Вот мой код,

public void add_tab(View view)
{
    id++;
    String b = String.valueOf(id);
    tab_frame = new FrameLayout(this);
    FrameLayout.LayoutParams layoutparams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT,Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
    tab_frame.setLayoutParams(layoutparams);
    tab_frame.setId (id);


    FragmentManager fragment_manager1 = getSupportFragmentManager ();                         // fragment manager for dealing with fragments
    frag_one frag_one_obj = new frag_one();                                                   // creating a onj of fragment "frag_one"
    FragmentTransaction fr_transaction = fragment_manager1.beginTransaction ();
    fr_transaction.add (tab_frame.getId (),frag_one_obj,b);
    fr_transaction.addToBackStack ("Fragment Add");
    fr_transaction.commit ();
    frag_one_obj.setArguments (bundle);
    tab_frame.setVisibility (View.VISIBLE);
}

Когда я отлаживаю, я получаю эту ошибку в logcat,

No view found for id 0x1 (unknown) for fragment frag_one{42bb0cc8 (d45032ae-5aa4-485f-87a6-da20f3d5ce1f) id=0x1 1}

Я не знаю, почему это происходит... Я уже создаю framelayout и назначаю для него идентификатор... Но эта ошибка говорит о том, что для этого perticular id не назначено никакого представления, поэтому нельзя добавить фрагмент..

Пожалуйста, помогите мне.. Заранее спасибо..

1 ответ

Решение

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