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

xml에서 layout include 한 후에 include된 layout 내부 attribute에 사용자가 선언한 ?attr/ 사용시 죽는 문제

0 추천

사용자가 이렇게 attrs.xml 에 선언하고

<attr name="defalut_color" format="reference" />

 

Color.xml에서 이렇게 정의되어있습니다.

<color name="defalut_color_day">#FF3C3C3C</color>
<color name="defalut_color_night">#ffffff</color>

해당 referenece를 include 되어진 layout 내부에서 사용하려고하면 해당 layout 이 화면에 생성될때 죽습니다. 이유가 뭘까요??

<FrameLayout
    android:id="@+id/Option_FL_ToggleField"
    android:layout_width="640dp"
    android:layout_height="109dp"
    android:visibility="visible">
    <include
        layout="@layout/sub_option_toggleitem">
    </include>

 

layout 내부에서는 이렇게 쓰고 있습니다. (include 하지 않고 사용하면 잘 동작합니다)

android:layout_marginStart="48dp"
android:text="Discription Text"
android:textColor="?attr/defalut_color"
동아컴공 (210 포인트) 님이 2019년 3월 7일 질문
죽을때 발생하는 오류 메시지를 올려야 답변이 됩니다.

1개의 답변

0 추천
 
채택된 답변
자답합니다

inflator 생성시에 getApplicationContext() 가 아닌 this로 사용하는것이 올바른 방법입니다.
동아컴공 (210 포인트) 님이 2019년 3월 8일 답변
...