0

RadioButton 또는 CheckBox를 ListView에 추가하는 몇 가지 예를 발견했습니다. ListView가 multiselect를 허용하는지 여부에 따라 둘 중 하나를 사용하는 하나를 찾았습니다.안드로이드 - 같은 ListView에있는 RadioButton과 CheckBox

내가하려고하는 것은 RadioButton 다음에 CheckBox가있는 것입니다. RadioButton을 선택하면 다른 모든 RadioButton이 지워지고 모든 CheckBox가 지워집니다. CheckBox를 선택하면 모든 RadioButton이 지워지지 만 더 많은 CheckBox를 직접 선택할 수 있습니다.

즉, 다중 선택이며 사용자의 취향에 따라 단발 선택합니다.

두 뷰와 TextView를 사용하여 선형 레이아웃 용 클래스를 만들었습니다. 토글 및 setChecked 메서드를 사용하고 있습니다. 그러나 어떤 뷰가 실제로 눌러 졌는지 알 수는 없으며 LinearLayout이 눌려 졌다는 것을 알 수 있습니다.

public class CheckableLinearLayout extends LinearLayout implements Checkable 
{} 

아이디어가 있으십니까?

답변

0

radiobuttons에 대한 리스너를 만들고 모든 checkBoxes를 통해 onClick() 루프를 만들고 checkBox.setSelected(false)을 호출하십시오. 라디오 버튼을 선택하면 모든 검사를 지우는 처리를합니다. 그런 다음 확인란의 별도 Listener를 만들고 onClick() 내에서 선택한 radioButton을 찾고 radioBtn.setSelected(false) 라디오 단추가 있는지 확인하고 그 중 하나만 선택할 수 있는지 확인하십시오 여분의 일을 할 필요없이 당신을 위해.

+0

어떻게 반복 할 수 있습니까? 내가 읽고 봤던 것부터 목록 항목이 재활용되므로 한 번에 화면에 보이는 내용에만 액세스 할 수 있습니다. – Paul

+0

감사합니다. 다른 검색에서 getFirstVisiblePosition() 및 getChildCount()를 사용하여 보이는 항목을 반복 할 수 있음을 발견했습니다. 그런 다음 모든 목록의 상태를 저장할 수있는 목록 어댑터에 변수를 설정합니다. onClick 리스너에서이 변수를 수정하고 getView() 중에 기본값을 사용하여이 변수를 사용합니다. 이제 작동 중입니다. 오른쪽 영역에서 나를 가리켜 주셔서 감사합니다. – Paul

+0

문제 없습니다. 듣고있어 기쁘게 생각합니다. – FoamyGuy