본문 바로가기

recyclerview

[Andorid] Vertical RecyclerView 안에 Horizontal RecyclerView 스크롤 이건 괜찮은 블로그 내용이 있어서 공유 합니다. http://nerds.headout.com/fix-horizontal-scrolling-in-your-android-app/ 제가 이해한 블로그 내용은 RecyclerView는 스크롤 방향만 신경 쓰지, 움직이는 각도에 신경을 쓰지 않는다는 애기 입니다.@Override public boolean onInterceptTouchEvent(MotionEvent e) { ... switch (action) { case MotionEvent.ACTION_DOWN: ... case MotionEvent.ACTION_MOVE: { ... if (mScrollState != SCROLL_STATE_DRAGGING) { boolean startScroll = false.. 더보기
[Android] Tmp detached view should be removed from RecyclerView before it can be recycled 혹시 아래와 같은 에러 보신 분들은 참고 하세요. Tmp detached view should be removed from RecyclerView before it can be recycled 이건 RecyclerView가 삭제나 추가등 수정이 이뤄지고 있는 동안에 이벤트 적으로 다른 동작이 이뤄질 때 발생한 에러 입니다. 즉, RecyclerView에 있는 이미지를 클릭하면 확대하는 기능이 있습니다. 이미지를 클릭 하는 동시에 RecyclerView에 새로운 데이터가 추가 되는 현상이 발생 한 것이죠.이미지 확대 애니메이션이 동작 중인데 RecyclerView 해당 리스트가 변경이 되는 것이죠. 아~ 그럼 애니메이션 동작 할 때마다 RecyclerView를 체크 해야 하는 건가?그럴 필요 없습니다.애니.. 더보기
[Android] Cannot call this method while RecyclerView is computing a layout or scrolling Cannot call this method while RecyclerView is computing a layout or scrolling 위 에러는 RecyclerView 에서 notify 관련 함수(notifyDataSetChanged, notifyItemChanged 등등)을 사용할 때 자주 발생 한다.무슨 에러 일까.... RecyclerView 가 레이아웃을 계산 하고 있거나 스크로링 하는 동안 에는 사용 할 수 없다! 라는 문구이다. 그래서 난 UI 쓰레드(runOnUiThread) 를 사용 하면 되나 했더니.. 그것도 안되고 에러를 품어 낸다. 결국 구글링을 열심히 해봤다. 대답은 대부분이 Handler를 만들어 post로 던져라 이다.참고 : http://stackoverflow.com/a.. 더보기
[Android][Glide] Viewpager 에 이미지가 갱신 되지 않는 현상 이 내용은 많이 발생 하지 않는 문제 입니다. UI가 좀 복잡해지게 되면 일어날 수가 있는데요. 안드로이드 이미지를 로드하기 위해 요즈음 많이 사용하는 Library가 Glide 입니다.Picasso도 있고, Universal Image Loader도 있는데요. 전 가볍고 기능도 많은 Glide를 많이 사용 합니다. Glide 를 쓰게 되면 아래와 같은 문제점이 발생했습니다.(다른 라이브러리들은 발생하지 않음) ViewPager 안에서 ListView,RecyclerView,GridView 같은 Adapter를 필요로 하는 View가 포함 되어 있는 상태에서, 해당 View에 이미지를 재로드 할 때 이미지가 발생 하지 않는 현상 발생. 참고 : https://groups.google.com/forum/#.. 더보기
[Android] RecyclerView를 이용한 ExpandableListView ExpandableListView를 사용하면 리스트가 애니메이션이 없이 그냥 생성되었다가 사라지는 것을 반복 합니다.너무 보기 안좋죠~ RecyclerView를 사용하시면 아시 겠지만, 리스트 insert,remove,update동작이 자연스럽게 잘 되어 있습니다.이걸로 이용하면 쉽게 훨씬 더 낫겠다 싶어서 한번 검색을 해본 순간역시나 저와 같은 생각을 가진 분이 이미 예제를 구현해 두셨네요. https://github.com/anandbose/ExpandableListViewDemo 위 git 소스를 보시면 다른게 없습니다.그냥 버튼을 누르면 리스트를 insert 시키고,다시 한번 버튼을 눌렀을 경우 remove를 시키는 것이지요. 참고하세요. 더보기
[Android] RecyclerView 에서 Scroll 정보 형태 intcomputeHorizontalScrollExtent()Compute the horizontal extent of the horizontal scrollbar's thumb within the horizontal range.intcomputeHorizontalScrollOffset()Compute the horizontal offset of the horizontal scrollbar's thumb within the horizontal range.intcomputeHorizontalScrollRange()Compute the horizontal range that the horizontal scrollbar represents.intcomputeVerticalScrollExtent()Compute.. 더보기
[Andorid] RecyclerView 최상단에 위치하고 있는지 확인. RecyclerView가 최상단에 위치 하고 있는지 확인하는 방법은 ScrollY로 해서는 안된다. mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); if (recyclerView.computeVerticalScrollOffset() == 0) { // is top of scroll. } else { // isn't top of scroll. } } }); 참고하세요. 더보기
[Android] RecyclerView setAutoMeasureEnabled 함수 몇일전 Android에서 Android Support Library 23.2.0 버전으로 업데이트 하였습니다. 여기에서 저에 있어 가장 중요한 부분이 LinearLayoutManager에 setAutoMeasureEnabled 함수가 생긴 겁니다!!! 지금 까지 RecyclerView 안에 RecyclerView나 Scroll이 관련 있는 View를 사용하게 될 경우 NestedLinearLayout 과 같은 커스터마이징이 필요했었습니다. Android 에서 자동적으로 Layout을 늘려 주지 않았으니깐요.(참고 : http://gogorchg.tistory.com/entry/Android-Nested-RecyclerView-%EB%A7%8C%EB%93%A4%EA%B8%B0) 하지만, 이번 v23.2.0.. 더보기