반응형
안드로이드 리스트뷰 작성 중 특정 행을 감추고 싶은데,
전 포스팅과 같이 받아오는 배열은 5개인데, 리스트뷰에 add를 4개만 시키고 하나를 add시키지 않으면, indexoutofbound 에러가 나서 원하지 않는 특정 컬럼이 리스트뷰에 나타날 때, 꼼수이긴 하지만, 방법을 찾다가 찾다가 원하는 답이 없어서 생각해낸 방법입니다.
파싱을 받아오고 리스트뷰에 Add 시킨 후 (정상적으로 받아오는 값 = 리스트뷰에 나타낼 값이기 때문에 에러 넘김) 이 후 getview (리스트뷰에 뿌려주는 부분에서) if문을 써서 조건을 걸어 원하는 특정 행의 조건을 걸어준 뒤에 감추는 방법입니다.
간단하게 예를 들면
list_row = (LinearLayout) v.findViewById(R.id.rowlayout);
파싱을 받아오고 리스트뷰에 add...
getview>> 부분에서
if ( _list.get(position).set_list_name("가계부") ) {
list_row.setVisibility(View.GONE);
}
으로 처리해버리면 리스트뷰에는 내가 나타내기 싫은 '가계부'는 나타내지 않게 됩니다.
하지만 주의점은, 리스트뷰에 1, 2, 3, 4 순수대로 놓여졌을 때 두번째꺼만 보이기 싫다고 위와 같이 처리했을 경우 중간이 텅 비어 보이는 ... 안타까운 꼼수이기 때문에, 인덱스 배열을 통해서 리스트뷰를 정리하거나, 파싱을 받아올 때 원하지 않는 컬럼의 경우에는 가장 아랫단에 위치할 수 있도록 코딩해주는 센스가 필요하겠네요~!
전 포스팅과 같이 받아오는 배열은 5개인데, 리스트뷰에 add를 4개만 시키고 하나를 add시키지 않으면, indexoutofbound 에러가 나서 원하지 않는 특정 컬럼이 리스트뷰에 나타날 때, 꼼수이긴 하지만, 방법을 찾다가 찾다가 원하는 답이 없어서 생각해낸 방법입니다.
파싱을 받아오고 리스트뷰에 Add 시킨 후 (정상적으로 받아오는 값 = 리스트뷰에 나타낼 값이기 때문에 에러 넘김) 이 후 getview (리스트뷰에 뿌려주는 부분에서) if문을 써서 조건을 걸어 원하는 특정 행의 조건을 걸어준 뒤에 감추는 방법입니다.
간단하게 예를 들면
list_row = (LinearLayout) v.findViewById(R.id.rowlayout);
파싱을 받아오고 리스트뷰에 add...
getview>> 부분에서
if ( _list.get(position).set_list_name("가계부") ) {
list_row.setVisibility(View.GONE);
}
으로 처리해버리면 리스트뷰에는 내가 나타내기 싫은 '가계부'는 나타내지 않게 됩니다.
하지만 주의점은, 리스트뷰에 1, 2, 3, 4 순수대로 놓여졌을 때 두번째꺼만 보이기 싫다고 위와 같이 처리했을 경우 중간이 텅 비어 보이는 ... 안타까운 꼼수이기 때문에, 인덱스 배열을 통해서 리스트뷰를 정리하거나, 파싱을 받아올 때 원하지 않는 컬럼의 경우에는 가장 아랫단에 위치할 수 있도록 코딩해주는 센스가 필요하겠네요~!
반응형
'옛글 > 안드로이드 프로그래밍' 카테고리의 다른 글
JAVA/안드로이드 Double형 소수점 자르는 방법 (0) | 2011.12.21 |
---|---|
자주 사용되는 자바&안드로이드 형변환 (0) | 2011.12.20 |
indexoutofboundsexception size와 index 에러는 왜 나나요? (0) | 2011.12.20 |
안드로이드 스레드(Thread) 개념 (0) | 2011.12.13 |
안드로이드 핸들러와 자바 핸들러의 차이점? (0) | 2011.12.13 |