2012-05-18 3 views
3

목록보기 항목을 클릭하지 못하게하고 싶습니다. 한 가지 해결책은 항상 areAllItemsEnabled()을 재정 의하여 false를 반환하고 isEnabled()은 특정 위치에 대해 false를 반환하는 것입니다. 그러나 이로 인해 특정 Listview 항목 주변의 구분선이 사라집니다. 몇 사람이 areAllItemsEnabled()에 대해 true를 반환하고 isEnabled()에 대해 false를 제안했지만 이는 저에게 효과적이지 않습니다. 항목 XML에 부모 레이아웃을 추가해야하기 때문에 수동으로 구분선을 배치하는 것을 주저합니다. view.setClickable(false) :클릭 할 수없는 목록보기 보이는 제본기가있는 항목

비 클릭하고 여전히 클릭 할 수 없습니다 설정을 시도하고, 개별 View

+0

코드에이 행을 넣습니다. mList.setItemsCanFocus (false); – Aerrow

+0

Listview 행에 포커스가 필요한 항목이 있습니다. 목록보기 열에 포커스가 필요한 항목이 있습니다. – benkdev

답변

0

을 유지하기리스트 뷰 항목을 설정하는 방법이 있나요. 그래도 문제가 해결되지 않으면 view.setFocusable(false)을 시도해보십시오.

1

해결책은 당신이 말한 것과 정확히 반대입니다. areAllItemsEnabled()에 false를 반환하고 재정의를 isEnabled()으로 그냥 삭제해야합니다. 그것은 나를 위해 완벽하게 작동하며 나는 어제 그 문제로 고심하고있었습니다.

areAllItemsEnabled() == false부터 모든 항목을 클릭 할 수 없지만 구분 기호가 나타납니다.

0

이 문제도 있었지만이 어댑터 메서드를 덮어 쓰는 것은보기 흉한 것처럼 보였습니다. 그런 다음 한 게시물이 아이디어를 가지고 나에게 충격을주었습니다. 클릭 할 수없는보기에서 view.setOnClickListener(null)으로 전화하십시오.

붐, 어쩌면 이것은 실제 해결책이 아닌 해결 방법이지만 작동합니다. 나는 디바이더를 프로그래밍 방식으로 ListView 바닥 글에 추가 했으므로 디바이더에 대한 참조가 있었으므로 간단히 OnClickListenernull으로 설정할 수 있습니다.