onclick 事件不适用于 cardview? Java xml

onclick event not working on cardview? Java xml

我是 android 开发的新手,我正在尝试将 onclick 侦听器添加到 cardview 这是我的 xml 代码:

    <androidx.cardview.widget.CardView
        android:id="@+id/makecards"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        app:cardCornerRadius="12dp"
        android:layout_margin="12dp">

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="16dp"
            android:gravity="center">

            <ImageView
                android:src="@drawable/credit"
                android:layout_width="80dp"
                android:layout_height="80dp">
            </ImageView>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="12dp"
                android:text="Make Cards"
                android:textColor="@color/black"
                android:textSize="18sp"
                ></TextView>

        </LinearLayout>


    </androidx.cardview.widget.CardView>

在我的 java 文件中,我使用了卡片视图的 ID,但没有打印任何内容:

 public class containerActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.containerscreen);

    CardView card_view = (CardView) findViewById(R.id.makecards);
    card_view.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            System.out.println("Cliked on make cards");
          

        }
    });

}

}

它必须给打印线,但什么都没有发生?

尝试点击卡片视图中的线性布局,因为线性布局的高度和宽度设置为匹配父级,因此它覆盖了整个卡片视图,这就是为什么当您点击它时它不起作用。