为什么android GridView项目里面的按钮不能单击? [英] Why android GridView item cannot click when button inside?

查看:63
本文介绍了为什么android GridView项目里面的按钮不能单击?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

GridView onItemClick无效. Button OnClickListener正常工作.当我从中删除按钮时, GridView onItemClick起作用.
任何解决方案请帮助我.

GridView onItemClick not working.Button OnClickListener is work. When I remove button from it, GridView onItemClick work.
Any solution please help me.

<?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="5dp"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/thumbnail"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@mipmap/ic_launcher"
            android:scaleType="fitCenter"/>
        <TextView
            android:id="@+id/name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:maxLines="2"
            android:textColor="@android:color/darker_gray"
            android:padding="5dp"
            android:textSize="14sp"/>
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="30dp">
            <TextView
                android:id="@+id/text1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="right"
                android:layout_alignParentRight="true"
                android:gravity="center_vertical"
                android:text=""/>
            <TextView
                android:id="@+id/text2"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_toLeftOf="@+id/text1"
                android:layout_gravity="right"
                android:gravity="center_vertical"
                android:layout_marginRight="10dp"
                android:text=""
                android:textColor="@android:color/holo_red_dark"/>

        </RelativeLayout>
        <Button
            android:id="@+id/add_to_cart"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:background="@drawable/add_button"
            android:layout_marginBottom="5dp"
            android:textColor="@android:color/white"
            android:text="Add"/>
    </LinearLayout>

推荐答案

添加

android:descendantFocusability="blocksDescendants"

在自定义GridView项的rootview中

in the rootview of your custom GridView item

   <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ...
            android:descendantFocusability="blocksDescendants"
            >
            ...
             <Button
             ...
             /> 
            ...      
   </LinearLayout>

这篇关于为什么android GridView项目里面的按钮不能单击?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆