티스토리 뷰
리스트뷰를 쓰게 되는 경우 한 화면에 표시될 항목 이상일 경우 스크롤을 처리 하도록 되어 있습니다. 그렇지만 간혹 가다 이 스크롤 처리 없이 리스트뷰 해당 아이템수 만큼 그대로 표시 해줄 필요가 있는 경우가 생기게 됩니다. 이럴 경우 사용할수 있는 것이 바로 아이템 수만큼 높이를 조절 해주는 아래의 소스 입니다.
public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null ) { // pre-condition return ; } int totalHeight = 0 ; int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST); for ( int i = 0 ; i < listAdapter.getCount(); i++) { View listItem = listAdapter.getView(i, null , listView); //listItem.measure(0, 0); listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED); totalHeight += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight; listView.setLayoutParams(params); listView.requestLayout(); } |
사용 방법은 리스트뷰에 adapter 한 후에 위 메소드를 호출 해주면 됩니다. 리스트뷰에 adapter된 아이템 만큼 길이가 늘어나므로scrollView속에 리스트 뷰를 넣어 사용 해야 합니다.
listview1.setAdapter(adapter); setListViewHeightBasedOnChildren(listview1); |
'IT > Android' 카테고리의 다른 글
[Android] 전화번호 하이픈(-) 표시 및 포맷 체크하기 (0) | 2016.08.02 |
---|---|
[Android]날짜에 해당하는 요일 구하기(일 ~ 토) (0) | 2016.08.01 |
[Android]이메일(E-mail) 포맷 체크하기 (0) | 2016.07.29 |
[Android]BackKey(뒤로가기)에 이벤트 설정 (0) | 2016.05.26 |
[안드로이드]위경도 좌표로 주소 구하기/ 주소로 위경도 구하기 (5) | 2016.04.30 |
TAG
- 티스토리 초대장
- 1800TI
- 래디어 구조
- 배달 지연
- unbound prefix
- 1800X
- 국기 다는 시간
- 다렉
- 오픈베타
- 한글패치
- 19대 선거
- 한글 패치
- 라이젠
- GPU 출시
- 포아너
- 예약메일 전송
- 민주당 대선 후보
- 초대장
- ONLINE JSON
- 단면폭
- JSON PASER
- 블로그 개설
- 테일즈 오브 베르세리아
- 사제 쿨러
- GPU 출시가격
- Looper.prepare()
- 림의 외경
- 투표소
- 하이엔드 그래픽카드
- 7700K
최근에 올라온 글
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
공지사항
반응형