You need do that:
In you Adapter of RecycleView put:
private ItemListener mListener;
...
public void setmListener(ItemListener mListener) {
this.mListener = mListener;
}
...
public interface ItemListener {
void onItemSelected(Item item);
}
Item = The item selected
them...
In your ViewHolder of Adapter put that:
public class Holder extends RecyclerView.ViewHolder implements View.OnClickListener {
public TextView tv_id;
public TextView tv_url;
public TextView tv_login;
public Holder (View itemView) {
super(itemView);
tv_id = (TextView) itemView.findViewById(R.id.tv_id);
tv_url = (TextView) itemView.findViewById(R.id.tv_url);
tv_login = (TextView) itemView.findViewById(R.id.tv_login);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (mListener != null) {
Integer position = Integer.valueOf(getLayoutPosition());
mListener.onUserSelected(mList.get(position));
}
}
}
OBS: That ViewHolder is a InnerClass of Adapter
Them all you need do is:
In your fragment
mRecycleViewAdapter.setmListener(this)
Them make your fragment:
public class MyFragment extends Fragment implements MyRecycleViewAdapter.ItemListener
And override :
@Override
public void onItemSelected(Item item) {
//call addItemsToShoppingCartFromPreviousOrder
}
Here is a example,
see SearchFragment.java and UsersListAdapter.java