INFLATION 기능
1.XML 문서에 정의된 레이아웃과 차일드 뷰의 속성을 읽어 실제 뷰 객체를 생성해 내는 동작.
2.레이아웃의 정보대로 객체를 생성하고 속성 변경 메서드를 순서대로 호출 하는것.
Activity화면에서 사용자 인터페이스를 정의한 XML을 View 해줘야 되는데,
이때 Inflate라는 메소드를 통해서 이러한 XML 리소스의 정보를 해석하여 뷰를 생성하고 루트뷰를 리턴합니다.
리턴된 루트뷰를 setContentView() 라는 메소드를 통해 보여 줄수 있습니다.
즉, 핵심은 XML문서를 통채로 사용 할수 없으므로, 컴파일된 리소스를 넘겨줘야 된다는 뜻으로 정리하면 됩니다.
그리고 LayoutInflater 클래스의 용도는 XML 리소스를 전개하여 뷰 객체를 만듭니다.
OnCreate() 내부에서 아래처럼 선언되는 두가지 방법은 동일합니다.
setContentView(R.layout.main);
setContentView(View.inflate(this, R.layot.main, null);
조금 더 들어가자면,
setcontentView(R.layout.main); 과
LayoutInflater inflater =(LayoutInflater)getSystemSetvice(COntext.LAYOUT_INFLATER_SERVICE);
View v=(View)inflater.inflate(R.layout.main, null);
setContentView(v);
동일하다고 볼수 있겠습니다.
참고사이트
http://stbaeya.com/tc/233