Android 如何仅使cardview的子项可单击,而不使整个cardview本身可单击?

Android 如何仅使cardview的子项可单击,而不使整个cardview本身可单击?,android,xml,Android,Xml,以下是cardview在上下文中的布局: <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_marginR

以下是cardview在上下文中的布局:

<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可单击。

OnClickListener
设置为
imageview
,下面是一个示例:

ImageView image = (ImageView) findViewById(R.id.icon);
image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Do operation
        }
});
编辑:

如果使用
onClick()
方法:

@Override
public void onClick(View v) {
    switch(v.getId()){

        //Add this case to your switch
        case R.id.icon:

           //Do operation

        break;
    }
}
正如@vspallas所说的,不要忘记添加
Listener

image.setOnClickListener(this);

您可以使用onClick()方法执行@Michele Lacorte的答案,然后

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

我目前正在使用重写的OnClick()函数来侦听单击。我在哪里添加这个?在viewholder的构造函数中?我应该在哪里设置您最初显示的onclicklistener?我一次也做不到。整个卡响应点击,而不仅仅是图像视图。我只希望imageview是可点击的。我根本不希望标题是可点击的。这不是我必须对XML本身进行的更改吗?从布局中获取ImageView实例的位置,就像第一个代码一样,我根本不希望标题可以单击,只希望ImageView。这不是我必须对XML本身进行的更改吗?