Инициализация представления без findViewById()

#java #android #layout #view #fragment

#java #Android #макет #Вид #фрагмент

Вопрос:

У меня есть действие и фрагмент. Теперь в onCreate() фрагмента я хочу добавить строки в свой макет таблицы, определенный в xml фрагмента. Для этого я хочу инициализировать макет таблицы в соответствии с тем, который определен в xml. В представлении моего приложения у меня есть только макет основного набора действий. У меня нет представления фрагмента, и я не могу установить его прямо сейчас. Итак, когда я написал это

   TableLayout tableLayout = findViewById(R.id.record);
  

в журнале cat ошибка. Представление не может быть найдено. Я понимаю проблему, но я нигде не могу найти ее решение.

запись — это идентификатор макета таблицы в XML-файле макета фрагмента

 <TableLayout

        android:id="@ id/record"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

    </TableLayout>
  

Заранее спасибо.

Ответ №1:

Проведя много исследований, я наконец нашел решение своей собственной проблемы.

Для этого я использовал средство раздувания макета

     LayoutInflater inflater = getActivity().getLayoutInflater();
    View view= inflater.inflate(R.layout.fragment_home_page, null);
    TableLayout tableLayout = (TableLayout)view.findViewById(R.id.record);