Android에서 ListView 선택 항목을 강조 표시
Android 개발에서는 세부 정보를 표시하면서 ListView에서 선택한 항목을 강조 표시하는 것이 바람직한 경우가 많습니다. 선택한 항목을 별도의 ListView에 표시합니다. 이 문서에서는 이 시나리오와 관련된 일반적인 문제를 다룹니다.
문제:
사용자가 ListView(lv_cli)에서 항목을 선택하면 선택한 클라이언트의 세부 정보가 별도의 ListView(lv_cli_det)에 표시되어야 합니다. 그러나 그렇게 하면 lv_cli에서 사용자가 선택한 항목이 강조 표시를 잃습니다.
해결책:
해결책은 android:choiceMode="singleChoice" 속성을 활용하는 데 있습니다. XML 레이아웃에서. 이 속성은 ListView의 선택 동작을 지정하여 한 번에 하나의 항목만 선택할 수 있도록 합니다. 선택한 항목의 배경은 android:listSelector="#666666" 속성을 사용하여 자동으로 강조 표시됩니다.
코드:
<ListView android:id="@+id/cli_lista" android:layout_width="512dp" android:layout_height="wrap_content" android:fadeScrollbars="false" android:choiceMode="singleChoice" android:listSelector="@color/my_selector" > </ListView>
또는 다음을 설정할 수 있습니다. ListView 클래스의 setSelector() 및 setChoiceMode() 메서드를 프로그래밍 방식으로 사용하여 이러한 속성을 제어합니다.
이 접근 방식을 사용하면 lv_cli에서 선택한 항목이 강조 표시된 상태로 유지되고 선택한 클라이언트의 세부 정보가 lv_cli_det에 표시됩니다.
중요 사항:
onItemClick 이벤트에 대한 응답으로 뷰 배경을 직접 관리하지 않는 것이 중요합니다. 뷰는 임시 개체이므로 이 접근 방식은 항목을 뷰 밖으로 스크롤하여 재사용할 때 예측할 수 없는 동작을 초래할 수 있습니다.
위 내용은 Android에서 ListView 선택 항목을 강조 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!