안드로이드 리스트뷰 특정 행 감추고 싶을 때


Android/안드로이드 프로그래밍 2011. 12. 20. 10:02



안드로이드 리스트뷰 작성 중 특정 행을 감추고 싶은데, 
전 포스팅과 같이 받아오는 배열은 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 순수대로 놓여졌을 때 두번째꺼만 보이기 싫다고 위와 같이 처리했을 경우 중간이 텅 비어 보이는 ... 안타까운 꼼수이기 때문에, 인덱스 배열을 통해서 리스트뷰를 정리하거나, 파싱을 받아올 때 원하지 않는 컬럼의 경우에는 가장 아랫단에 위치할 수 있도록 코딩해주는 센스가 필요하겠네요~!
삼성전자 갤럭시 S20 플러스 자급제폰, 코스믹 그레이, 256GB Apple 에어팟 프로 (노이즈캔슬링 방수 블루투스 5), MWP22KH/A, 단일 색상 삼성전자 갤럭시탭S6 10.5 128G WIFI, SM-T860N, 마운틴 그레이

WRITTEN BY
ShakeJ

트랙백  0 , 댓글  0개가 달렸습니다.
secret