在 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中文网其他相关文章!