2011-12-29 3 views
28

ListView의 BaseAdapter에 isEnabled을 사용하고 어떤 행을 클릭 할 수 있는지를 제어합니다. 그러나 내 머리글에 대한 클릭 이벤트를 비활성화하고 isEnabled가 작동하지 않습니다. 위치 0은 첫 번째 행을 가리키므로 머리글 클릭을 제어 할 수 없습니다.안드로이드 ListView 헤더 사용 안 함

한편, 인수 (header, null, false)를 제공하는 addHeaderView을 사용하여 헤더를 추가하면 작동하지만 디바이더는 이런 식으로 누락됩니다. 어떻게 관리 할 수 ​​있습니까?

이 문제를 알고있는 사람이 있습니까?

답변

83

addHeaderView(header, null, false)을 사용할 수 있습니다. 머리글의 경우 머리글 내용에 밑줄로 구분 기호가있는보기를 펼칩니다. 이보기는 제가 구분선에 사용했던 것입니다.

<View 
    android:layout_width="fill_parent" 
    android:layout_height="1px" 
    android:background="#adaaad" /> 
+43

addHeaderView (view, null, false)를 사용하면 효과적입니다. addHeaderView (view)는 기본적으로 "선택 가능"으로 기본 설정되어 있습니다. –

+1

이렇게하면 목록 항목 구분 기호가 제거 될 수 있습니다. http://stackoverflow.com/questions/14367278/issue-with-addheaderview-and-missing-list-separator/14368524#14368524 모든 목록보기 항목과 헤더를 선택할 수 없도록하려면 , 당신은'code'listView.setSelector (android.R.color.transparent);'code'를 설정할 수 있습니다. 이것은 구분 기호를 유지합니다. –

+3

낡은 질문이지만, 일부 장치에서는 기본값을 선택 가능하고 다른 대부분은 선택할 수 없음을 지적하고 싶습니다. 따라서 항상 세 가지 인수 방법을 사용하는 것이 좋습니다. –