티스토리 뷰

지식쌓기

ListView inside ScrollView

바나나쥬스 2012. 11. 6. 15:42

http://nex-otaku-en.blogspot.kr/2010/12/android-put-listview-in-scrollview.html


listView의 높이를 계산해서 지정해줌으로써 listView내의 scroll은동작안하고 

scrollview의 scroll만 동작하게함


http://nex-otaku-en.blogspot.kr/2010/12/android-put-listview-in-scrollview.html?showComment=1321617812648#c2502974534979822768


이 사람 댓글처럼 

listItem.measure(0, 0);

으로 해주는것이 더잘됨


    

 public static void setListViewHeightBasedOnChildren(ListView listView) {

        ListAdapter listAdapter = listView.getAdapter();

        if (listAdapter == null) {

            // pre-condition

            return;

        }


        int totalHeight = 0;

        for (int i = 0; i < listAdapter.getCount(); i++) {

            View listItem = listAdapter.getView(i, null, listView);

            listItem.measure(0, 0);

            totalHeight += listItem.getMeasuredHeight();

        }


        ViewGroup.LayoutParams params = listView.getLayoutParams();

        params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));

        listView.setLayoutParams(params);

        listView.requestLayout();

 }