gpt4 book ai didi

java - 选择并突出显示自定义 ListView 项目

转载 作者:行者123 更新时间:2023-12-02 00:21:27 26 4
gpt4 key购买 nike

我想定位自定义 ListView 项目

listView.setSelection(itemIndex);

所选项目位于 ListView 可见部分的顶部。但没有突出显示。如何设置 ListView 项目的默认突出显示(然后禁用突出显示并选择另一个)而不重新创建 ListView

谢谢!

附:我知道之前被问过很多次,但我不明白它是如何工作的

更新不适用于我的 android 2.2(adt 模拟器和配备 android 2.2 froyo 的智能手机)

drawable/listselector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:drawable="@color/red" android:state_focused="true"/>
<item android:drawable="@color/yellow" android:state_selected="true"/>
<item android:drawable="@color/red" android:state_pressed="true"/>

</selector>

值/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

<color name="black">#000000</color>
<color name="white">#ffffff</color>
<color name="yellow">#ffff00</color>
<color name="red">#ff0000</color>
</resources>

布局/list1.xml

<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@drawable/listselector"
android:clickable="true" >
</ListView>

最佳答案

您需要一个选择器,将其添加到您的 xml 布局中

android:clickable="true"
android:background="@drawable/selector"

并在drawable文件夹中创建一个selecor.xml,如下所示

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@color/red"/>
</selector>

最后位于 colors.xml 中的 values 文件夹

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#000000</color>
<color name="white">#ffffff</color>
<color name="red">#ff0000</color>
</resources>

并调用

listView.requestFocusFromTouch();

之前

listView.setSelection(itemIndex);

关于java - 选择并突出显示自定义 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10895373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com