각 항목에 2 개의 LinearLayouts가있는 사용자 정의 ArrayAdapter가 지원되는 ListView가 있습니다. 하나는 머리라고하고 다른 하나는 본문입니다. 사용자가 슬라이드 아웃 할 때 행을 클릭 할 때까지 본문이 숨겨집니다 (사라짐). 두 번째 클릭 (머리 위)은 시체를 숨 깁니다. 그러나 사용자가 본문을 클릭하면 다른 활동이 시작됩니다. 이 모든 것은 여기에, 잘 작동 문제 제공 :안드로이드 - 멋진 ListView 배경 문제
사용자 프레스 몸에 나는 액션의 시각적 표시를 누르면 오렌지 배경을 깜박 일반 목록 항목처럼 같은 방법으로합니다. onPress 이벤트가 본문보기에 의해 인터셉트되고 목록 항목에 의해 처리되지 않기 때문에 기본적으로이 옵션이 표시되지 않습니다.
내가 시도하는 첫번째 일은 onPress에 이벤트 (색상을 신경 쓰지) body.setBackground('#ff00ff')
을 실행하는 것이 었습니다. 통화가 끝난 후 다시 그려지는 것은 아니기 때문에 (나는 의심 스럽다) 작동하지 않았다. 그런 다음 조금 더 파고 <selector/>
기반 배경을 사용하기로 결정했습니다. drawable
폴더에 body_background.xml
을 정의하고 본문의 배경 속성에 할당했습니다.
거기서 짝수가 목록에 의해 처리되는 경우에만 배경이 변경된다는 것을 알았습니다. 예를 들어, <item android:state_selected="true" android:drawable="@drawable/selected"/>
을 설정하면 머리를 누를 때마다 두 요소 (머리와 몸)의 배경이 변경되지만 몸을 누르면 아무 것도 변경되지 않습니다.
내 질문을 요약하려면 - 사용자 지정 onClick 처리기를 할당하면 목록 항목에서 하위 요소의 배경을 어떻게 변경합니까? 어떤 힌트도 크게 평가 될 것입니다.