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

Listview listSelector 초기값..

0 추천
안녕하세요 초보개발자입니다.

listview에서 선택된 아이템에 색깔을 입히는데 xml에서 listselector 속성을 주었습니다.

다만 저는 이 list가 어플실행시에 맨처음에 항상 0번 position의 값에 색깔을 입히고싶은데요.

잘되지않아서.. 리스트뷰에 setselection 같은 속성을 아무리 줘봐도 처음에는 적용이안되더군요

도움좀 주시면 감사하겠습니다 ㅠ...

 

제가 원하는 예시는 구글 플레이스토어 메뉴처럼 -> 처음에 열었을때 앱/게임에 배경색이 입혀져있는것처럼

0번 포지션에 배경색을 입히고싶습니다. 감사합니다.
익명사용자 님이 2017년 2월 3일 질문

1개의 답변

0 추천
ListView 라면 Adapter는 어떤걸 쓰신건가요?

Custom Adapter의  public View getView(int pos, View convertView, ViewGroup parent) 에서

pos가 0(첫번째 일 때) layout의 BG color를 변경하는 방법으로 구현 하시는 것도 방안일 듯 합니다.
익명사용자 님이 2017년 2월 3일 답변
답변감사합니다. adapter는 custom 아니고 그냥 arrayadapter 사용했습니다. custom adapter를 사용하지않으면 구현하지 못하는건가요?.. 저는 그냥 listview에 setselction만 적용하면 그 postion의 값이 select되고 그러면 listselector 속성이 적용되는 방식이라고 생각했는데 혹시 제 생각에서 어떤점이 잘못된지도 알 수 있을까요??
Adapter에서는 각 아이템 뷰를 재사용 하도록 설계되어 있습니다.
Adapter에서 최대 가지고 있는 아이템뷰의 갯수는 화면에 보여지는 아이템의 갯수입니다.
예를들어 아이템의 갯수가 100개이고 화면에 보여질수 있는 최대 아이템이 10개라고 하였을때 내부적으로 10개의 아이템뷰만 관리하고 화면에서 사라진 아이템이 재사용 되어 보여지게 됩니다.
쉽게 얘기하면 질문자님이 얻고자 하는 0번째 아이템뷰는 0번째 일수도 있고 10번째일수도 있고 20번쨰일수도 있다는 말입니다.
감사합니다!! 이해했어요.. 그럼 더문제가생기는데.. 제가 적용하려는건 드러어 레이아웃에잇어서 숨겨져잇는데 그럼 어떻게해야하나요.. 어댑터로는 적용못하는건가요
어쨋든 DrawerLAyout안에 들어있는게 ListView 아닌가요? 그럼 Adapter를 쓸수 밖에 없을겉데요.
...