목록recyclerview (5)
막무가내 삽질 블로그
epoxy concepts에 대한 이해를 알아보자. https://imwj.notion.site/Epoxy-1-Concepts-055df22c9e2a4ed09c6164e3c2fcc501 Epoxy - 1 (Concepts에 대한 이해) Epoxy란 Airbnb에서 만든 라이브러리이다. imwj.notion.site 샘플코드 https://github.com/treemiddle/WJ-EpoxySample GitHub - treemiddle/WJ-EpoxySample Contribute to treemiddle/WJ-EpoxySample development by creating an account on GitHub. github.com

indexboundsexception 에러라서 어디서 get을 가져다 쓰는 줄 알 고 한참 뒤지다가 자세히 다시 보니 staggeredgridlayoutmaanger.calculatecachedstart 에러임 일단 구조는 뷰페이저 + 프래그먼트 + 리싸이클러뷰이다. 뷰페이저를 왔다갔따 리싸이클러뷰를 스크롤했따 자꾸 그러면 간헐적으로 발생하는 에러. 뷰페이저2를 사용할 때 캐시 수를 설정하지 않았기 때문이다. 뷰페이저가 죽을 때 StaggredGridLayoutManager#onDetachedFromWindow가 호출된다. 이함수는 자주 전환할 때 호출 된다. @Override public void onDetachedFromWindow(RecyclerView view, RecyclerView.Recycl..
infinite/endless scroll 이란? 페이지 이동없이 스크롤을 내리면 다음 페이지의 내용을 불러오는 것을 의미한다. 즉, 무한스크롤이다. 예제를 통해 실습해본 후 내 프로젝트에 맞게 변경했다. 서버에서 받아온 데이터가 100개라고 가정했을 때 100개를 담는 리스트를 하나를 할당한 후 스크롤 이벤트가 발생할때 10개의 데이터를 불러온다. 테스트 예제 activity_main.xml item_recycler.xml item_loading.xml RecyclerViewAdapter public class RecyclerViewAdapter extends RecyclerView.Adapter { private final int VIEW_TYPE_ITEM = 0; private final int V..

이곳저곳에서 보다 이제 어느정도는 정리가 끝났다. 많은 예제들을 짬뽕시키고 내게 필요한 쪽으로 계속 변경중에 있다. 기존에 방식은 view에서 adapter로 다시 넘겨 줬지만 변경된 것은 모든걸 presenter에서 처리를 하였다. MainContract public interface MainContract { // presenter 에서 view를 업데이트 하기 위한 이벤트 interface View { void showLoading(); void hideLoading(); void onErrorMessage(String message); void showToast(String name); } // view에서 호출할때 이벤트 interface Presenter { void attachView(Vie..