Вот пример для Вас, вставьте как есть.Создайте конструктор, который будет иметь интерфейс в качестве параметра в адаптере, и переопределите его во Fragment.
Ваш код фрагмента будет выглядеть следующим образом.
public class CorporateFragment extends Fragment {
private final int LAYOUT_LISTCORPORATE_FRAGMENT = R.layout.corporate_membership;
private View v;
private Date date;
private RecyclerView recyclerView;
private RecyclerView.LayoutManager layoutManager;
public CorporateFragment() {
}
private int[] images = {
R.drawable.sample1,
R.drawable.sample2
};
public static CorporateFragment newInstance(Date date) {
CorporateFragment fragment = new CorporateFragment();
Bundle args = new Bundle();
//args.putSerializable(ARG_DATE,date);
fragment.setArguments(args);
return fragment;
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// Inflate the layout for this fragment
v = inflater.inflate(LAYOUT_LISTCORPORATE_FRAGMENT, container, false);
ButterKnife.bind(this, v);
return v;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
recyclerView = (RecyclerView) v.findViewById(R.id.recyclerView);
final CorporateAdapter listAdapter = new CorporateAdapter(getActivity(), images, new CorporateAdapter.onItemClickListener() {
@Override
public void onItemClick(View view, int position) {
/////////////////// do your on Click Stuff here...
/////////// for ex .. go to next fragment
}
});
recyclerView.setAdapter(listAdapter);
layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
}
}
И ваш адаптер настроен так:
public class CorporateAdapter extends RecyclerView.Adapter<CorporateAdapter.MyViewHolder> {
Context context;
private int[] images;
onItemClickListener onItemClickListener;
public CorporateAdapter(Context context, int[] images, CorporateAdapter.onItemClickListener onItemClickListener) {
this.context = context;
this.images = images;
this.onItemClickListener = onItemClickListener;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.corporate_list_row, viewGroup, false);
final MyViewHolder vHold = new MyViewHolder(view);
return vHold;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, final int position) {
((MyViewHolder) holder).bindView(position);
holder.mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onItemClickListener.onItemClick(view,position);
}
});
}
@Override
public int getItemCount() {
return images.length;
}
private class MyViewHolder extends RecyclerView.ViewHolder {
private ImageView mImageView;
public MyViewHolder(View itemView) {
super(itemView);
mImageView = (ImageView) itemView.findViewById(R.id.showImage);
}
public void bindView(int position) {
mImageView.setImageResource(images[position]);
}
}
public interface onItemClickListener{
void onItemClick(View view , int position);
}
}
Надеюсь, это поможет.Удачи