2013-04-09 1 views
7

LayoutInflater 추상 클래스의 inflate 메서드는 ViewGroup 루트를 취하는 inflate 메서드의 두 번째 매개 변수를가집니다. 설명서에서 "생성 된 계층 구조의 부모가되는 선택적보기"로 언급됩니다.LayoutInflater 클래스의 inflate 메서드 인 Android에서 두 번째 매개 변수를 사용하는 방법

누군가이 매개 변수 사용 방법에 대한 예제를 제공 할 수 있습니까? 그리고 거기에 무엇을 넣을까요? ViewGroupLinearLayout과 같은 레이아웃 유형이 될 수 있습니다.

이 매개 변수로 무엇을해야하는지 잘 이해하지 못했습니다. 팽창중인 뷰가 여기에 입력 된 레이아웃의 일부가 아니라면 오류가 발생합니다. 그것의 목적을 이해하지 마십시오. 문서에서

더 : 성능상의 이유로

public View inflate (XmlPullParser parser, ViewGroup root)

Added in API level 1 Inflate a new view hierarchy from the specified xml node. Throws InflateException if there is an error.

중요 인플레이션이 빌드시에 수행되는 XML 파일의 사전 처리에 크게 의존 볼 수 있습니다. 따라서 LayoutInflaterXmlPullParser과 함께 런타임시 일반 XML 파일에 사용할 수 없습니다.

매개 변수 구문 분석기 뷰 계층 구조에 대한 설명을 포함하는 DOM 노드입니다.

루트 생성 된 계층 구조의 상위가되는 선택적보기입니다. 반품 팽창 된 계층의 루트보기. 루트가 제공 되었다면 이것은 루트 뷰입니다. 그렇지 않으면 팽창 된 XML 파일의 루트입니다.

+0

선택적 매개 변수이므로 'null'을 전달할 수 있습니다. – midhunhk

답변

2

솔직히 말해서 나는 혼란스러워하는 부분을 정말로 모르겠습니다. 모든 뷰 그룹을 전달하여 동적으로 만드는 뷰의 부모가 될 수 있습니다. 예를 들어

는 :

private static View mView = inflater.inflate(R.layout.fragment_featured, container, false); 

이것은 (부모 등) 컨테이너 내의 fragment_featured XML 파일에 포함되는 레이아웃을 부풀게한다. 컨테이너 ViewGroup의 유형은 사용자가 결정합니다.

2

부풀려 방법을 사용하여 루트 뷰 그룹을 통과하지

경우
  • 팽창 XML의 상위 뷰를 돌려 팽창 XML 루트보기는 이 경우

  • 을 반환됩니다 당신은 루트를 통과 ViewGroup, 루트 루트보기 그룹