я хочу реализовать на onclicklistener на cardview, и каждая карта приводит меня к своей деятельности - PullRequest
0 голосов
/ 16 декабря 2018

Я хочу заменить тост и хочу, чтобы каждый просмотр карточки при нажатии приводил пользователя к новому другому занятию.Я также хотел бы внедрить промежуточные объявления, когда пользователь нажимает на просмотр карты.

Вот мой класс адаптера

public class MyAdapter extends RecyclerView.Adapter< LessonViewHolder > {

private Context mContext;
private List< LessonData > mLessonList;

MyAdapter(Context mContext, List< LessonData > mLessonList) {
    this.mContext = mContext;
    this.mLessonList = mLessonList;
}

@Override
public LessonViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View mView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_item_row,  parent, false);
    return new LessonViewHolder(mView);
}

@Override
public void onBindViewHolder(final LessonViewHolder holder, int position) {
    holder.mImage.setImageResource(mLessonList.get(position).getLessonImage());
    holder.mTitle.setText(mLessonList.get(position).getLessonName());

    holder.mCardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

         // I want every single card takes the user to a new different activity, and also implement interstitial ads when the user clicks
        }
    });
}




@Override
public int getItemCount() {
    return mLessonList.size();
}
}

class LessonViewHolder extends RecyclerView.ViewHolder {

CardView mCardView;
ImageView mImage;
TextView mTitle;

LessonViewHolder(View itemView) {
    super(itemView);

    mImage = itemView.findViewById(R.id.ivImage);
    mTitle = itemView.findViewById(R.id.tvTitle);
    CardView mCardView = itemView.findViewById(R.id.cardview);
}
}

Я также хочу рекламировать промежуточные объявления, когда пользователь нажимает на эту карту.

1 Ответ

0 голосов
/ 16 декабря 2018

Вы захотите установить прослушиватель кликов для каждого элемента в вашем списке.

Внутри вашего onBindViewHolder напишите что-то вроде этого:

 holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if(pos == 0){              
               view.getContext().startActivity(new Intent(view.getContext(),Activity1.class));
           }else if(pos == 1){
               view.getContext().startActivity(new Intent(view.getContext(),Activity2.class));
          }
        }
    });
}

Happy Coding;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...