Android에서 선택한 후 ListView 항목을 강조 표시하는 방법
Android에서 ListView 항목의 선택된 상태를 유지하면 다음을 제공하여 사용자 경험을 향상할 수 있습니다. 현재 선택 항목을 시각적으로 명확하게 표시합니다. 그러나 개발자는 스크롤이나 ListView와의 추가 상호 작용 등 특정 이벤트 후에 선택한 항목이 강조 표시되지 않는 문제에 직면하는 경우가 있습니다.
과제
최근 개발자 XML 레이아웃에서 두 개의 ListView로 작업하는 동안 이 문제에 직면했습니다. 하나의 ListView는 클라이언트 목록을 표시하고 다른 하나는 선택한 클라이언트에 대한 자세한 정보를 표시했습니다. 첫 번째 ListView에서 클라이언트가 선택되었을 때 개발자는 두 번째 ListView를 해당 세부 정보로 업데이트하는 동안 강조 표시된 상태를 유지하기를 원했습니다. 그러나 강조 표시가 유지되지 않았습니다.
해결 방법
이 문제를 해결하려면 다음과 같은 몇 가지 접근 방식이 있습니다.
1. XML 속성 사용:
XML 레이아웃 내에서 선택한 항목 강조 표시를 유지해야 하는 ListView에 다음 속성을 적용합니다.
android:choiceMode="singleChoice" android:listSelector="@drawable/list_selector"
@drawable/list_selector를 원하는 강조 색상을 지정하는 맞춤 선택기 드로어블로 바꾸세요.
2. 프로그래밍 방식:
또는 다음 코드를 사용하여 ListView의 선택 모드와 강조 색상을 프로그래밍 방식으로 설정합니다.
listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); listView.setSelector(getResources().getDrawable(R.drawable.list_selector));
3. 뷰 조작 방지:
이벤트 리스너를 통해 직접 뷰를 조작하는 것은 ListView 뷰의 일시적인 특성으로 인해 신뢰할 수 없다는 점에 유의하는 것이 중요합니다. 스크롤이나 다른 이벤트가 발생한 후에는 보기 배경에 대한 변경 사항이 유지되지 않을 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3