2010-07-11 5 views
2

FrameLayout을 확장하는 NoteView이라는 사용자 지정 클래스가 있습니다. 이전에는 주식 LinearLayout을 사용하고 있었고 이미 XML 레이아웃을 작성하여 NoteView에 전체 계층 구조 (일부 다른 오버레이 뷰와 함께 프레임 레이 아웃이 필요한 이유)를 추가하여 재사용하고 싶습니다.xml의 레이아웃을 Extended FrameLayout Android에 추가하는 방법은 무엇입니까?

문제는 XML을 부풀려서 NoteView 클래스에서 NoteView에 추가하는 방법을 알아낼 수 없다는 것입니다. 초기화가 완료된 후에 추가 할 수 있지만 NoteView이 인스턴스화되거나 XML에서 비정상적으로 확장되면 해당 계층을 확장하고 자동으로 추가 할 수 있기를 원합니다.

확장 된 FrameLayoutNoteView 클래스 자체에서 추가하여 XML 레이아웃으로 어떻게 채울 수 있습니까?

답변

5

LayoutInflater inflater = (LayoutInflater) context 
    .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
LinearLayout myView = (LinearLayout) inflater.inflate(R.layout.my_layout, null); 
frameLayout.addChild(myView); 

LayoutInflater 여기 LayoutInflater에 대한 설명서를 보라보십시오 :

+0

http://d.android.com/reference/android/view/LayoutInflater.html 나는 그것을 시도했지만 처음에는 작동하지 않았다. 나는 그것이 내가 충돌하게 만드는 잘못된 클래스에 내 최상위 레벨의 뷰를 캐스팅했음을 알았습니다. 이 모든 질문은 빨간 청어입니다. :) – CodeFusionMobile

+0

감사합니다.이 코드는 제게 많은 도움이됩니다. –

+0

'FrameLayout'에는'addChild (...)'메소드가 없습니다. 'addView (View child) '를 의미 했습니까? – Roman

관련 문제