title: Implement view clicks on multiple ViewHolder types in RecycleView adapter
body: <p>I am implementing multiple ViewHolders as suggested in <a href="https://stackoverflow.com/a/46454246/1785200">this answer</a> which uses an abstract <code>bind()</code>. My current <code>Adapter</code> and <code>ViewHolder</code> looks likes:</p>
  
  <pre><code>// MyAdapter.java
  
  {adapter code}
  
  public static abstract class MyViewHolder extends RecyclerView.ViewHolder {
  
      public MyViewHolder(View itemView) {
          super(itemView);
      }
  
      protected abstract void bind(MyModel item);
  }
  
  // ViewHolder1.java
  public class ViewHolder1 extends MyAdapter.MyViewHolder implements View.OnClickListener {
  
      TextView textView;
  
      public ViewHolder1(View itemView) {
          super(itemView);
          textView = itemView.findViewById(R.id.textView);
          textView.setOnClickListener(this);
      }
  
      @Override
      protected void bind(MyModel item) {
          textView.setText(item.getText());
      }
  
      @Override
      public void onClick(View view) {
          //pass the current item position back to adapter
      }
  }
  </code></pre>
  
  <p>How can I pass the position of the clicked item from here back to the adapter. I don't want set <code>onClickListener()</code> inside <code>bind()</code> because it would then be called multiple times while my <code>RecyclerView</code> is scrolled.</p>