마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

커스텀 리스트뷰 페이징

0 추천

현재 jsonarray를 이용해서 db 정보를 읽어와

커스텀리스트뷰로 뿌려주고 있습니다.

데이터 양이 많아짐에 따라 페이징 처리를 하고 싶은데

아래와 같이 불러오면 전부다 불러오는 방식입니다.

여기에 페이징을 붙이고 싶은데 어떻게 해야할까요?

private void getitem(){
    // 리스트에 다음 데이터를 입력할 동안에 이 메소드가 또 호출되지 않도록 mLockListView 를 true로 설정한다.
    mLockListView = true;
    try{

        JSONObject jsonObject = new JSONObject(list);
        final JSONArray jsonArray = jsonObject.getJSONArray("response");

        String email,title, content, mUri, mThumbUri, date, lat, lng;

        //아이템 갯수 결정
        for (count = 0; count < jsonArray.length() ;count++) {
                JSONObject object = jsonArray.getJSONObject(count);
                email = object.getString("email");
                title = object.getString("title");
                content = object.getString("content");
                mUri = object.getString("mUri");
                mThumbUri = object.getString("mThumbUri");
                date = object.getString("date");
                num = object.getString("num");
                lat = object.getString("lat");
                lng = object.getString("lng");

                ListViewItem item = new ListViewItem(email, title, content, mUri, mThumbUri, date, num, lat, lng);
                items_current.add(item);

        }
flcat (700 포인트) 님이 2019년 6월 10일 질문

1개의 답변

0 추천
 
채택된 답변
페이징의 경우 웹페이지 게시판처럼 번호로 나누어 하는 페이징도 있고, SNS나 채팅앱같은것에서 사용하는 스크롤 시 추가 로딩하는 loadMore도 있고 다양한데요. 리스트뷰에서는 loadMore가 알맞은듯 합니다. listView loadMore나 infiniti scroll 로 검색하시면 내용 많이 나오니 참고하셔서 만드시면 될것같네요.

리스트뷰에 스크롤 리스너를 달아서 최하단 또는 최상단에 도달한 상태를 캐치해서 그위치에 스크롤이 도달하면 DB에서 일정 인덱스 범위의 데이터를 가져와 리스트에 추가하는 구조로 보시면 될것같아요.
익명사용자 님이 2019년 6월 10일 답변
flcat님이 2019년 6월 14일 채택됨
...