2016-07-27 48 views
1

我有一個包含一些CardView<include>一個xml,我想設置onClickCardView包括在我的項目打開一個Activity。我試圖在CardView佈局中設置onClick,如您在下面的代碼中看到的那樣,它會正常打開,但有時會觸發錯誤,並且應用程序停止。我如何在此設置onClick的OnClick在CardView <include>佈局

這是我的XML

<include layout="@layout/view_caderno" 
      android:id="@+id/view_caderno" /> 

這裏的<include>CardView

<android.support.v7.widget.CardView 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:card_view="http://schemas.android.com/apk/res-auto" 
android:id="@+id/card_view" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
card_view:cardCornerRadius="10dp" 
card_view:cardElevation="15dp" 
android:layout_margin="5dp" 
android:onClick="Caderno" 
> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_margin="2dp" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:id="@+id/pic1" 
     android:layout_width="100dp" 
     android:layout_height="135dp" 
     android:scaleType="centerCrop" 
     android:padding="5dp" 
     android:src="@drawable/note" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/pic1" 
     android:maxLines="3" 
     android:text="Diário" 
     android:padding="10dp" 
     android:textColor="#222" 
     android:textStyle="bold" 
     android:textSize="22dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/title" 
     android:maxLines="3" 
     android:padding="5dp" 
     android:drawableRight="@drawable/baby2" 
     android:text="@string/diário" 
     android:textColor="#666" 
     android:textSize="14dp" /> 

</RelativeLayout> 

+0

粘貼錯誤日誌和Caderno函數的代碼。 –

回答

0

你必須要OnClickListener編程:

 CardView yourCardView = (CardView) findViewById(R.id.view_caderno); 

     yourCardView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       //do what you want on click event 
      } 
     }); 
+0

ID。再次看到我的答案,我編輯它 –