>  기사  >  Java  >  Android에서 ListView 선택 항목을 강조 표시하는 방법은 무엇입니까?

Android에서 ListView 선택 항목을 강조 표시하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-07 06:03:03425검색

How to Keep ListView Selected Item Highlighted in Android?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.