listview SetSelection 失效解决办法,附用选择器实现 Item 选中效果

如果想选中 ListView 中的一个 Item,对 ListView 直接使用 SetSelection 是无效的,下面的方法可以实现选中一个 Item:

listview.requestFocus();
listview.setItemChecked(i, true);
listview.setSelection(i);
listview.smoothScrollToPosition(i);

在 drawable 中建立一个 bg_item_selector.xml,在 ListItem 的布局文件中将 background 属性指定为 bg_item_selector 即可。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_activated="true" android:drawable="@color/my_item_selected" />
    <item android:drawable="@android:color/transparent" />
</selector>
posted @ 2022-01-04 23:29  汉学  阅读(261)  评论(0)    收藏  举报