마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

xml의 include태그의 id를 자바에서 참조하는 방법은?

0 추천

제가 슬라이딩 드라우어를 이용해서 여러가지 화면을 보여주고싶은데요

만약에 버튼이 여러개가 있고 슬라이딩 드라우어는 한개가 있다고 하면 1번 버튼을 눌렀을경우 1번화면이 슬라이딩드라우어에 1번 레이아웃이 설정되고 2번 버튼을 눌렀을 경우 2번 레이아웃이 설정되게 하고 싶습니다.

제가 쓰는 슬라이딩 드라우어 xml코드입니다.

<com.example.ab.appproject.MultiDirectionSlidingDrawer
    xmlns:my="http://schemas.android.com/apk/res/com.example.ab.appproject"
    android:id="@+id/slidingdrawer"
    my:direction="topToBottom"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    my:handle="@+id/handle"
    my:content="@+id/content">
    <include
        android:id="@id/content"
        layout="@layout/pen_content" />
    <ImageView
        android:id="@id/handle"
        android:layout_width="wrap_content"
        android:layout_height="40px"
        android:src="@drawable/sliding_drawer_handle_bottom" />
</com.example.ab.appproject.MultiDirectionSlidingDrawer>

자바에서 저기 include에 있는 레이아웃을 변경하고 싶어서 참조하고싶은데요

어떻게 참조해야할지...본적이 없어서 잘 모르겠습니다..혹시 아시는분 있나요?

빙구짱 (1,720 포인트) 님이 2015년 7월 12일 질문

1개의 답변

+2 추천
 
채택된 답변
pen_content.xml 에 있는 뷰들의 id를 초기화해서 그냥 사용하시면됩니다.

include 된 layout을 별개로 보지마시고 저 layout 에 포함되어있다고 생각하시면 됩니다
하늘아륑 (16,800 포인트) 님이 2015년 7월 12일 답변
빙구짱님이 2015년 7월 13일 채택됨
무슨 말씀인지 잘 모르겠습니다..제가 원하는것은 저 슬라이딩드러우어에 나올수 있는 화면의 종류가 6가지면 6가지 모두 xml로 레이아웃을 지정해준다음 경우에 따라 슬라이딩드로우어에 뿌려주는것입니다..근데 초기화하라는 말이 이해가 안가네요..자바코드로 뷰들을 다 지웠다가 다시 만들어주고 그렇게 하기는 싫어서 최대한 이미 정의된 xml 레이아웃을 그냥 쓰는 방법을 선택하고싶습니다
include 안에 있는 버튼의 id가 btn1이면, R.id.btn1로 호출하면 됩니다.
include됐으니까 뭔가 더 해줘야 한다고 생각하지 말고 그냥 쓰면 돼요.
그게 아니라...레이아웃을 아예 다른 레이아웃으로 바꾸기 위해서 레이아웃 자식들을 참조하는게 아니라 레이아웃 자체를 참조하고싶다는 말이였는데..ㅎㅎㅎ 어쨋든 다른 방법으로 해결했습니다! 감사합니다
...