2013-04-01 2 views
1

저는 Android 개발에 익숙하지 않아 안드로이드 개발 커뮤니티에서 던져지고있는 "Inflate a View"문구에 궁금합니다.LayoutInflater는 어떻게 작동합니까?

나는 이것이 LayoutInflater 클래스의 Inflate 메서드를 호출하는 것과 관련이 있다는 것을 알고 있지만 아직 그 개념을 이해하지 못했습니다. 이것은 기본적으로 자바 스크립트의 document.getElementById() 일종의 ID를 전달하여 뷰를 반환한다는 것을 의미합니까, 아니면 더 많은 것이 있습니까? 어떤 형태의 계발도 감사 할 것입니다.

답변

2

기본적으로 xml Layout 파일을 Java 코드에서 사용할 객체로 인스턴스화하는 데 사용되는 용어입니다. setContentView(R.layout.file name minus xml extension)을 호출하거나 LayoutInflater을 사용하여이 작업을 수행 할 수 있습니다. 팽창시킨 후에 만 ​​자녀에게 Views로 전화 할 수 있습니다. 나는 많은 질문을 보았다 때문에 아는 것이 중요 SO하는 사람들은 충돌 응용 프로그램을 가지고 있고 그것은 그들이 view처럼

EditText et = (EditText) findViewById(R.id.someID); 

를 참조하려고하고 그들이 얻을 setContentView()라고하지 않았 음을 밝혀 LayoutEditText이며 Layoutinflated 일 때까지 EditText이 실제로 존재하지 않으므로 NPE이됩니다.

나는 구체적인 반드시 내가 말할거야 것보다 더 복잡하지만 당신은 거기에 문서 만 Here they are anyway

+0

귀하의 답변은 체계적으로 구성되어 있습니다. +1 – stinepike

+0

@StinePike 감사합니다. 선생님. – codeMagic

0

을 보았다 확신, 내가보기를 팽창하는 것은 같다 생각하는 가장 쉬운 방법을 생각한다 xml 레이아웃 파일에서 실제 View 개체로 이동하는 프로세스입니다. 다양한 클래스를 중심으로 펼쳐지는 인플레이션 메소드는 보통 id 인수를 취합니다.이 인수는 R.layout.xxx으로 설정합니다.

관련 문제