上述方法可以通过在 ListView 的 onCreate 方法中设置 setSelection 方法来设置第一条默认选中,同时可以通过设置 android:listSelector 属性为所需的背景颜色来设置选中背景色。,不生效
时间: 2024-02-18 13:02:56 浏览: 106
Android ListView设置选中项背景
5星 · 资源好评率100%
如果上述方法不生效,可以尝试以下两种方法:
1.在布局文件中设置默认选中项:
可以在布局文件中通过设置 `android:choiceMode` 属性为 `singleChoice`,并设置 `android:checkedItem` 属性为第一条目录项的 id 值来实现默认选中第一项。同时可以通过设置 `android:listSelector` 属性为所需的背景颜色来设置选中背景色。具体代码如下:
```xml
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:checkedItem="@+id/item1"
android:listSelector="@color/selected_color"/>
```
其中,`@+id/item1` 是第一项目录的 id 值,`@color/selected_color` 是自定义的选中背景色。
2.在适配器中设置默认选中项:
可以在适配器中重写 `getView` 方法,在第一项目录项的视图中设置选中状态。同时也可以在 `getView` 方法中设置选中背景色。具体代码如下:
```java
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, null);
}
TextView textView = convertView.findViewById(R.id.text_view);
textView.setText(getItem(position));
if (position == 0) {
convertView.setSelected(true);
convertView.setBackgroundResource(R.color.selected_color);
} else {
convertView.setSelected(false);
convertView.setBackgroundResource(android.R.color.transparent);
}
return convertView;
}
```
其中,`R.layout.list_item` 是每个项目的布局文件,`R.color.selected_color` 是自定义的选中背景色。
阅读全文