android - 如何只让 cardview 的 child 可以点击,而不是整个 cardview 本身?

标签 android xml

这是上下文中卡片 View 的布局:

<android.support.v7.widget.CardView
        android:id="@+id/card"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="1dp"
        android:layout_marginRight="1dp"
        android:layout_marginTop="-25dp"
        android:clickable="true"
        app:cardUseCompatPadding="true"
        android:foreground="?android:attr/selectableItemBackground"
        app:cardBackgroundColor="@color/md_white_1000"
        card_view:cardCornerRadius="4dp"
        card_view:cardElevation="10dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_centerVertical="true"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:layout_alignParentLeft="true"
                android:layout_toLeftOf="@+id/icon"
                android:ellipsize="marquee"
                android:marqueeRepeatLimit="marquee_forever"
                android:maxLines="4"
                android:textColor="@color/md_teal_900"
                android:textSize="15sp"
                android:textStyle="bold" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_marginTop="10dp"
                android:layout_marginBottom="10dp"
                android:layout_height="wrap_content"
                android:focusable="true"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="5dp"
                android:clickable="true"
                android:id="@+id/icon"
                android:src="@mipmap/ic_download" />


        </RelativeLayout>
    </android.support.v7.widget.CardView>

我只希望图标 (imageview) 可以点击。这个 cardview 是 recyclerview 的一部分,我只能让整个卡片响应点击,而我只希望 imageview 可以点击。

最佳答案

您可以使用 onClick() 方法完成@Michele Lacorte 的回答,然后

ImageView image = (ImageView) findViewById(R.id.icon);
image.setOnClickListener(this);

关于android - 如何只让 cardview 的 child 可以点击,而不是整个 cardview 本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34139913/

相关文章:

xml - 使用 XML 数据结构还是可以转换为 XML 的自定义数据结构更好?

java - 将列表映射到 Dozer 中的列表

android - 使用android开发三星电视应用程序

xml - 为什么不是 xsl :for-each select ="" working with this xml file?

PHP SoapClient 版本不匹配

java - 如何使用 BeanIO 将 0 转换为 null

android - Expo 推送通知不会在 Android 手机中弹出( float 通知)

java - 未找到 getView() 和 getActivity()

android如何检查wifi已连接但没有互联网连接

android - 蓝牙文件传输安卓