04. boostcourse_ android app_ java_인플레이션

2022. 6. 17. 17:02APP/개발

- 프로젝트를 만들면 첫 화면을 위한 XML 레이아웃과 소스 파일  activity_main.xml 파일과 MainActivity.java 파일이 자동으로 만들어짐

이 소스 코드에서 XML 레이아웃 파일을 이해하려면 setContentView 메소드의 파라미터로 해당 XML 레이아웃 파일을 지정해주어야 합니다.

- activity_main.xml 파일이 layout 폴더 안에 들어있으니 R.layout.activity_main 을 전달해주어야함

- 그러면 내부적으로 인플레이션 과정이 진행이됨

- XML 레이아웃 파일 안에 들어있는 뷰 태그들을 이용해 뷰 객체를 메모리에 만드는 과정이 인플레이션 과정

- 이렇게 XML 레이아웃 파일의 내용이 메모리에 객체로 만들어지면 소스 코드에서는 그 객체들을 찾아 사용할 수 있음

- 예시 (버튼 클릭하면 밑에 다른 레이아웃 띄워줌)

 1. activity_main.xml 안에 공간 을 만들어줌 : ex) constraint layout > framelayout(id=containter)

 2. 추가할 레이아웃 sub.xml  만들어줌

 3. MainActivity .java 파일열고 컨테이너 인식해야되므로 관련 코드 넣어주기 

틀림

근데 위처럼 하면 지금 @button이 인식하지 못하는 곳에서 framelayout 이 인식되서 변수 (FameLayout containter )  객체인식을 한단계전 으로 해줘야됨

맞음

4.  sub.xml 인플레이션 코드 넣어주기 -> 버튼 클릭하면 바꿔서 보여줄것이므로 버튼@override 에 넣어줌