0

如何從CardView中的onClick打開片段? 我在Cardview中有一個列表,當我點擊時想顯示另一個片段。 這是adapter.class從cardView打開片段

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ 
     public TextView fecha_celula; 
     public TextView nombre_celula; 

     public ViewHolder(View itemView) { 
      super(itemView); 
      fecha_celula = (TextView) itemView.findViewById(R.id.fecha_celula); 
      nombre_celula = (TextView) itemView.findViewById(R.id.nombre_celula); 

      itemView.setOnClickListener(this); 

     } 

     @Override 
     public void onClick(View v) { 
      Fragment nameAdd = new name_add(); 
      getSupportFragmentManager().beginTransaction().replace(R.id.container, predicaAdd).commit(); 
     } 
    } 

,這是layout.xml

<?xml version="1.0" encoding="utf-8"?> 

<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:clickable="true" 
    android:layout_margin="10dp" 
    android:id="@+id/card_view" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    card_view:cardCornerRadius="2dp"> 

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

     <ImageView 
      android:id="@+id/avatar_celula" 
      android:src="@drawable/ic_action_celula" 
      android:scaleType="centerCrop" 
      android:layout_marginRight="10dp" 
      android:layout_width="150dp" 
      android:layout_height="150dp" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:text="Large Text" 
      android:id="@+id/fecha_celula" 
      android:layout_alignParentTop="true" 
      android:layout_toEndOf="@+id/avatar_celula" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:text="Small Text" 
      android:id="@+id/nombre_celula" 
      android:layout_below="@+id/fecha_celula" 
      android:layout_toEndOf="@+id/avatar_celula" /> 


    </RelativeLayout> 

我解決問題的蒙山的onClick,我現在的問題是,我不能打開另一個片段。 我如何在myActivity中調用我的方法?

回答

1

OnClickListener實際上並未在任何地方使用,您必須將其連接到視圖,例如,您的itemView在構造函數中。

itemView.setOnClickListener(this); 

onClick()方法就可以使用getPosition()來獲取點擊的元素的索引。

+0

對不起,這裏沒有getPosition()方法。是否有任何新的信息可以傳遞給我? – wasimsandhu 2015-06-09 23:54:29

+0

RecyclerView.ViewHolder確實有getPosition()。雖然它似乎已被棄用,但應該仍然可用: https://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder.html#getPosition() – mus65 2015-06-11 16:05:24