私はカードでリサイクラービューを実装しており、各カードにonClick関数を実装したいと考えています。基本的には、MainActivityクラスとRVAdapterクラスの2つのクラスがあります。カードが含まれている私のXMLファイルにRecyclerViewでonClickカードを設定するには?
@Override
public void onBindViewHolder(final ShopViewHolder shopViewHolder, final int i) {
shopViewHolder.shopNameTV.setText(shops.get(i).name);
shopViewHolder.categoryTV.setText(shops.get(i).category);
shopViewHolder.phoneNumberTV.setText(shops.get(i).phoneNumber);
shopViewHolder.ratingsTV.setText(shops.get(i).ratings);
shopViewHolder.emailTV.setText(shops.get(i).email);
final Shop shop = shops.get(i);
shopViewHolder.shopNameTV.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Log.d("test","onclickk here" + i);
}
}) ;
}
:
これは私がアダプタクラス内のonclickの機能を実装する方法である
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:onClick="onBindViewHolder"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/shopnameTV"
/>
しかし、問題は、私が上のクリックしたときカードによって、onBindViewHolderがメインのアクティビティクラスにないというエラーが表示されます。
このエラーを解決するにはどうすればよいですか?または、どのように変数をonClickの後にMainアクティビティクラスの代わりにRVAdapterクラスに渡すのですか?