I already have a RecyclerViewAdapter class and now I want another activity opening on click of previous recyclerView's items which has its own recyclerView. But when I create another RecyclerViewAdapter and ViewHolder it shows me error that onCreateViewHolder method is clashing with the First Adapter class' method. How could I have more than one recyclerViewAdapter...I hope I explained what I want.Any help would be appreciated.
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> {
private Context mContext;
private List<Main> mData;
public RecyclerViewAdapter(Context mContext, List<Main> mData) {
this.mContext = mContext;
this.mData = mData;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
LayoutInflater mInflator = LayoutInflater.from(mContext);
view = mInflator.inflate(R.layout.single_view, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
holder.textView.setText(mData.get(position).getTitle());
holder.imageView.setImageResource(mData.get(position).getThumbnail());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (mData.get(position).getTitle()){
case "Grocery & Staples":
//Toast.makeText(mContext, "1", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(mContext, GroceryStaples.class);
mContext.startActivity(intent);
break;
case "Personal Care":
Toast.makeText(mContext, "2", Toast.LENGTH_SHORT).show();
break;
case "Household Items":
Toast.makeText(mContext, "3", Toast.LENGTH_SHORT).show();
break;
case "Beverages":
Toast.makeText(mContext, "4", Toast.LENGTH_SHORT).show();
break;
case "Breakfast & Dairy":
Toast.makeText(mContext, "5", Toast.LENGTH_SHORT).show();
break;
case "Instant Food":
Toast.makeText(mContext, "6", Toast.LENGTH_SHORT).show();
break;
case "Fruits & Vegetables":
Toast.makeText(mContext, "7", Toast.LENGTH_SHORT).show();
break;
default:
Toast.makeText(mContext, "NO", Toast.LENGTH_SHORT).show();
break;
}
}
});
}
@Override
public int getItemCount() {
return mData.size();
}
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
public class MyViewHolder extends RecyclerView.ViewHolder {
//Main Activity
ImageView imageView;
TextView textView;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
mContext = itemView.getContext();
//Main Activity
imageView = itemView.findViewById(R.id.imageView);
textView = itemView.findViewById(R.id.textView);
}
}
}
New Adapter:
public class RvAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
private Context mContext;
private List<Main> mData;
public RvAdapter(Context mContext, List<Main> mData){
this.mContext = mContext;
this.mData = mData;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
LayoutInflater mInflator = LayoutInflater.from(mContext);
view = mInflator.inflate(R.layout.rv_item_click, parent, false);
return null
}
@Override
public void onBindViewHolder(@NonNull RecyclerViewAdapter.MyViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 0;
}
public class ViewHolder extends RecyclerView.ViewHolder{
public ViewHolder(@NonNull View itemView) {
super(itemView);
}
}
}