아래는 코모스튜디오가 직접 만든 무료 앱이에요(한 번만 봐주세요 ^^)
preference에서 getPersistedString 으로 저장된 값을 가져오고 있었는데 이 값을 String에서 Int로 바꾸었다. 그리고 이젠 getPersistedInt 요렇게 값을 가져 오도록 한 뒤 실행을 했더니... 저승사자가 또 와버렸다. 안드로이드 초보인 코모에겐 아직도 까만 화면의 팝업이 너무 두렵다. 그리고 희한 하게도 이상한 에러로 죽으니 참으로 입이 타들어 간다.
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
분명 int로 바꾸면서 int 변수에 넣어 줬는데 도데체 이게 무슨 귀신이 신나서? 까까불어 먹고 있는 소리인가...
int a - getPersistedInt(10);
이런 말도 안되는 에러가 보일 때는 뭔가 안드로이드 내부나 단말기 내부와 연관이 되어있다는 것을 생각하자!
그렇다... 이전에 String으로 프리퍼런스를 저장하고 있었는데... 이게 한 순간에 int로 변할리가 없었다. 프리퍼런스는 파일이다... 즉, 데이터를 지워줘야 한다. 참으로 어처구니 없고, 참으로 말이 되는 얘기이지 않은가?
' [안드로이드 공부] > 프리퍼런스' 카테고리의 다른 글
안드로이드 프리퍼런스 보이기 안보이기 (0) | 2015.12.24 |
---|---|
Preference item 클릭 효과 만들기 (0) | 2015.10.10 |
안드로이드 오버라이드의 비밀과 함정 -Preference (0) | 2015.10.08 |
SwitchPreference 이벤트 중복 버그 (0) | 2015.09.30 |
Preference dialog 수동으로 띄우기 (0) | 2015.09.16 |
모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다. |
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요. |