0

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 でメソッドを呼び出すにはどうすればよいですか?

4

1 に答える 1

1

OnClickListener実際にはどこでも使用されていません。たとえばitemView、コンストラクターでビューに接続する必要があります。

itemView.setOnClickListener(this);

onClick()メソッドでは、クリックした要素のインデックスを取得するために使用できますgetPosition()

于 2014-11-21T18:12:34.490 に答える