본문 바로가기

Refresh

[Android] 권한 승인 시, Activity가 깜빡이는 현상. (Blink) Android M 버전 부터 권한 때문에 다들 이슈가 많을 겁니다. 이중 경험 했던 한 이슈를 공유하고자 합니다. M 버전을 대응 하기 위해 승인 팝업을 띄웠는데요.팝업에서 승인을 하면, 백그라운드에 있는 Activity가 Refresh 되면서 깜빡이는 현상이 발생 합니다. 원인이 무얼까 아무리 찾아봐도 소스상에는 큰 문제가 없는 것 같고,카톡은 깜빡이는데 깜빡이지 않는 앱들도 있으니 골치가 아팠지요. 해결책은 아주 간단했습니다. build.gradle 에 targetSDKVersion 을 23으로 설정 하면 됩니다. 23 하위 버전으로 설정 하게 되면 Refresh가 되고,23 버전 부터는 자연스럽게 동작이 이뤄집니다. 참고하세요. 더보기
[Android] Viewpager가 갱신이 되 않는 현상. 아래와 같이 getItemPosition을 불러와 넣어주면,notifyDataChanged 함수를 호출 할 때, 전체 갱신이 일어납니다. public int getItemPosition(Object object) { return POSITION_NONE; } 참고하세요. 더보기
[Android] RecyclerView Adpater Refresh RecyclerView를 사용한 후, Adapter를 계속 그냥 두는게 아니라 데이터가 변경이 되었을 때 항상 갱신을 해야 합니다.이전 ListView나 GridView를 사용했을 때 저는 모든 갱신을 notifyDataSetChanged 함수만 썼습니다.(제가 경력이 그리 많지 않아서..^^a) RecyclerView를 쓸때는 좀 더 다양하게 갱신을 줄 수 있습니다. ## 추신 : 여기는 제가 직접 테스트를 하면서 생각된 기능으로 설명한 것입니다. API 의도와 틀릴 경우 언제든지 댓글 달아주세요^^ 수정 하겠습니다. notifyDataSetChanged : 데이터가 전체 바뀌었을 때 호출. 즉, 처음 부터 끝까지 전부 바뀌었을 경우 notifyItemChanged : 특정 Position의 위치만 바.. 더보기
[Android] FragmentPagerAdapter 갱신!!! FragmentPagerAdapter를 사용할 경우 ViewPager와 연동을 합니다.이때 특정 Page에 Fragment를 갱신하고 싶어 모두 알고 계시는 notifyDataSetChanged 함수를 호출 합니다. 하지만! 위 함수를 호출 하더라도 갱신이 되지 않죠!!이럴 경우 아래와 같은 방법을 해보세요. 1. FragmentPagerAdapter 대신 FragmentStatePagerAdapter를 사용한다.2. getItemPosition 함수를 오바라이딩 한다.3. getItemPosition 함수를 이용하여 특정 Fragment만 갱신 한다. @Override public int getItemPosition(Object object) { if (여기는 특정 Fragement를 파악할 수 있는 .. 더보기