CAB上的Android持久性gridview选择器

时间:2012-07-31 01:17:20

标签: java android listview gridview selector

我有一个使用自定义适配器的GridView,它包含一个包含imageview的relativelayout。我在gridview上启用了MultiChoiceMode并启用了CAB(Contextual Action Bar)。这很好用,但是我很难理解如何在我选择的网格项周围显示一个持久的选择器。我的选择器适用于初始印刷机,但我还没有找到一种方法,它将一直存在,直到该项目被取消选择。

期望: 用户长按项目,项目被选中,应用程序进入CAB模式。按下每个项目时,每个对象周围都会出现一个紫色框架(由我在XML中的选择器语句定义),直到它们被取消选中。

结果: 用户长按项目,项目短暂显示选择器,它消失,用户无法选择或取消选择项目的视觉反馈,即使它已在代码中注册。

我已尝试过每一个选择器事件,但似乎没有人处理这个问题。任何解决方法?我缺少什么?

通过尝试长按Android 4.0或4.1图库应用程序中的项目来呈现我想要实现的示例

---> API 15< ---

1 个答案:

答案 0 :(得分:1)

尝试修改列表项的布局,使其具有不同的背景属性:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listItemRelativeLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent"
    android:background="?android:attr/activatedBackgroundIndicator">

    ...

</RelativeLayout>

该Android属性引用了一个在调用listView.setItemChecked(int index,boolean checked)时使用的选择器,并且由于某种原因它似乎以这种方式工作。

另外,请确认您在列表视图中调用它:

listView.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);