我正在制作的其中一项活动包含ListView
和GridView
。 gridview的内容将根据ListView中选择的项目进行更新。现在,我正在使用选择器通过更改其背景来突出显示ListView中的所选项目。但是一旦ListView失去焦点,选定的项目就不再突出显示。有没有办法在列表视图丢失焦点后突出显示列表项?
答案 0 :(得分:1)
设置选择器以识别已激活的状态
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Selected Item -->
<item android:state_selected="true"
android:drawable="@android:color/holo_blue_light" />
<item android:state_activated="true"
android:drawable="@android:color/holo_blue_light" />
<!-- Default Item -->
<item android:state_selected="false"
android:drawable="@android:color/white" />
</selector>
不仅选择,而且激活它onListItemClick
@Override
public void onListItemClick(ListView listView, View view, int position,
long id) {
super.onListItemClick(listView, view, position, id);
view.setSelected(true);
view.setActivated(true);
}
答案 1 :(得分:0)
我认为你想要保持某些List的点击项的状态。为此,您可以使用布尔ArrayList来维护列表的每一行的状态。您可以在适配器的getView()中使用此ArrayList。根据状态设置背景。例如在getView()中设置View的背景图像或颜色。 Here是我正在谈论的一个想法。您也可以将它用于您的目的。