Вы можете иметь обратный вызов (интерфейс) для связи между адаптером и фрагментом.Например, рассмотрите следующий обратный вызов (вы можете иметь его как отдельный файл):
public interface OnClickCallback {
void onClicked(int position);
}
В своем фрагменте реализуйте его, чтобы у вас был следующий метод переопределения
@Override
public void onClicked(int position){
// you will be retriving the clicked position
}
В вашем фрагменте создайтеэкземпляр OnClickCallback и передать его адаптеру, чтобы в методе setOnClickListener адаптера вы могли взаимодействовать с фрагментом с помощью обратного вызова.
private OnClickCallback onClickCallback;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_form4, container, false);
onClickCallback = this;
list = new ArrayList<>();
list.add(new POJOcarviewFotoForm4(R.drawable.ic_person_black_24dp,"Picture"));
list.add(new POJOcarviewFotoForm4(R.drawable.ic_person_black_24dp,"Picture"));
list.add(new POJOcarviewFotoForm4(R.drawable.ic_person_black_24dp,"Picture"));
list.add(new POJOcarviewFotoForm4(R.drawable.ic_person_black_24dp,"Picture"));
list.add(new POJOcarviewFotoForm4(R.drawable.ic_person_black_24dp,"Picture"));
RecyclerView recyclerView=(RecyclerView)view.findViewById(R.id.form4_recyclerview);
RecyclerViewAdapterFotoForm4 adapterFotoForm4=new RecyclerViewAdapterFotoForm4(getContext(),list);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setAdapter(adapterFotoForm4, onClickCallback);
return view;
}
В конструкторе адаптера:
public Adapter(List<String> yourList, OnClickCallback itemClickCallback) {
this.yourList = yourList;
this.itemClickCallback = itemClickCallback;
}
В setOnClickListener вы можетеМожно назвать это следующим образом:
myViewHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
itemClickCallback.onClicked(position);
}
});