GridView选择不适用于自定义布局

时间:2014-02-24 13:08:39

标签: android android-gridview android-selector

我的应用中有一个GridView,其中包含以下项目布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:background="@android:drawable/list_selector_background" >

    <TextView
            android:id="@+id/notizenTitel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Titel"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textStyle="bold" />

    <TextView
        android:id="@+id/notizenBeschreibung"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Beschreibung" />
</LinearLayout>

现在我想在用户点击它时选择一个项目。我试过这段代码:

gv.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE);
gv.setOnItemClickListener(this);

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
    GridView gv = (GridView) getView().findViewById(R.id.notizenGrid);
    gv.setSelection(position);
    adapter.notifyDataSetChanged();
}

但现在,如果我点击一个项目,背景会很快变为黄色,而不是。所以当我点击一个项目而不是选择时,选择器正在工作。你有什么想法吗?

2 个答案:

答案 0 :(得分:1)

以线性布局添加属性

android:clickable =“true”

这会有所帮助。

答案 1 :(得分:0)

如果您添加andrid:clickable="true",您的gridView将不会执行点击事件,它会阻止所有点击事件。