First create an interface called PinMessageListener
public interface PinMessageListener {
void onPin(String value);
}
second, implement this interface in your activity or fragment
public class YourActivityOrFragment extends AppCompatActivity implement PinMessageListener {
...
...
...
@Override
public void onPin(String value) {
yourTextView.setText(value);
}
...
}
third, pass this interface in your recycler adapter
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
//this refers to PinMessageManager
YourRecyclerViewAdapter adapter = new YourRecyclerViewAdapter(this);
...
}
your recycler adapter must look like this:
public YourRecyclerViewAdapter extends RecyclerView.Adapter<YourViewHolder> {
private final PinMessageListener pinMessageListener;
public YourRecyclerViewAdapter(PinMessageListener pinMessageListener) {
this.pinMessageListener = pinMessageListener;
}
onCreateViewHolder(...) {
return new YourViewHolder(pinMessageListener);
}
and your viewHolderClass must be look like this:
public YourViewHolder extends RecyclerView.ViewHolder {
private final PinMessageListener pinMessageListener;
public YourViewHolder(View rootView) {
super(rootView);
this.pinMessageListener = pinMessageListener;
}
public void bind(ModelClass model) {
yourTextView.onClickListener((view) -> pinMessageListener.onPin(yourTextView.getText().toString());
}
And that's it.