2015.01.17 14:17

1. AndroidAnnotations의 @Background에서 TextView의 setEnabled()을 호출했을때 에니메이션은 Looper thread 에서만 돌아야 한다는 에러

-> 롤리팝으로 올라가면서 Drawable 의 state가 변경될때 마다 에니메이션을 하는데 이게 백그라운드 쓰레드에서 안된다는것. 이전 버전들에서는 이런 에니메이션이 없기 때문에 상관이 없지만.. 특히 xml에서 setEnabled = false 처럼 값을 주게 되면 코드상에서나 xml에서나 뭐가 문제인지 알기 힘들어짐. 

해결방법: 에니메이션처리를 위해 해당 위젯을 메인쓰레드에서 setEnable을 해준다. 또는, 반드시 백그라운드쓰레드에서 돌았으면 하는것들은 android:stateListAnimator="@null" 로 세팅한다. 코드에선 view.setStateListAnimator(null); 인것 같은데 티스트 해보진 않음.


2. ActionMenu 관련 문제가 날때

values-v21디렉터리만들고 그 안에 스타일이나 테마를 넣어준다. 내 경우는 엑션바의 more버튼 눌렀을때 메뉴가 흰색인데 글씨도 흰색이라서 기본 values의 theme.xml에서 이 색을 지정해줬었는데 이때 롤리팝에선 이 색상을 걍 단순히 하나만 줘서 되는것이 아니라 리스트로 줘야함. 그래서 캐스트익셉션이 났던거 같음. 하지만 사실 내 문제의 근본적인 문제가 액션바의 메뉴였으므로 그냥 기본 패런트의 테마를 수정함으로써 해결함. 

저작자 표시 비영리 변경 금지
신고
Trackback 0 Comment 0


티스토리 툴바