Hyun Chul's Utopia

Android KitKat 에서 xml drawable 적용시Resources$NotFoundException 본문

프로그래밍/Android

Android KitKat 에서 xml drawable 적용시Resources$NotFoundException

디프시다루핀 2016. 11. 15. 15:33

근근히 xml로 정의한 간단한 drawable 파일을 View에 적용하여 사용하곤 합니다.

최신폰으로만 실행시켜 보다보니...하위 버젼들을 잘 못챙겼더군요..

일단 발견한 문제중 가장 골치 아팠던게 바로 이녀석 입니다..



Kitket에서 xml로 정의한 drawable를 view에 적용시키니 문제가 발생합니다.


Caused by: android.content.res.Resources$NotFoundException


삽질을 좀 했는데.. 원인을 찾아보니 좀 어처구니가 없을 정도긴 하더군요..

http://stackoverflow.com/a/31161552

https://code.google.com/p/android/issues/detail?id=26251



결국 Kitket에서 버그가 있었던 모양이긴 합니다.

attr속성값을 바로 사용할 경우 문제가 발생하는 증상이었네요


저의 경우는 아래와 같이 간단한 동그라미를 그렸었는데요...


<shape xmlns:android="http://schemas.android.com/apk/res/android"

       android:shape="oval">


    <stroke

        android:width="1dp"

        android:color="?colorAccent"/>


    <solid android:color="?colorAccent"/>


</shape>


이렇게 적은게 화근이더군요..

따라서 수정한 결과는 아래와 같습니다.


<shape xmlns:android="http://schemas.android.com/apk/res/android"

       android:shape="oval">


    <stroke

        android:width="1dp"

        android:color="@color/colorAccent"/>


    <solid android:color="@color/colorAccent"/>


</shape>



이렇게 해 주니 잘 되네요...

Comments