从cardView打开一个片段

时间:2014-11-21 18:02:59

标签: android android-activity android-fragments android-cardview

如何从CardView中的onClick打开片段? 我在Cardview中有一个列表,当我点击时想要显示在另一个片段中。 这是adapter.class

 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 个答案:

答案 0 :(得分:1)

OnClickListener实际上并未在任何地方使用,您必须将其连接到视图,例如你在构造函数中的itemView

itemView.setOnClickListener(this);

onClick()方法中,您可以使用getPosition()获取所点击元素的索引。