title: Butterknife is unable to bind inside my Adapter Class
body: <p>I have an Adapter that draws the layouts for my Navigation Drawer. My navigation drawer contains two inner xml files: One being the <code>Header</code> and the other being the <code>Row</code>. I draw these out in a single adapter, but when I'm trying to <code>setText()</code> on my header, I get failure to bind. Here is my adapter class:</p>
  
  <pre><code>public class DrawerAdapter extends RecyclerView.Adapter&lt;DrawerAdapter.ViewHolder&gt; {
  
  private static final int HEADER_TYPE = 0;
  private static final int ROW_TYPE = 1;
  private static Context context;
  private static DatabaseHelper databaseHelper;
  
  private List&lt;String&gt; rows;
  private List&lt;Integer&gt; icons;
  private String driverName;
  
  public DrawerAdapter(Context context, List&lt;String&gt; rows, List&lt;Integer&gt; icons, String driverName, DatabaseHelper databaseHelper) {
      this.icons = icons;
      this.rows = rows;
      this.context = context;
      this.driverName = driverName;
      this.databaseHelper = databaseHelper;
  }
  
  @Override
  public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
      if (viewType == HEADER_TYPE) {
          View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.drawer_header, parent, false);
          return new ViewHolder(view, viewType);
  
      } else if (viewType == ROW_TYPE) {
          View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.drawer_row, parent, false);
          return new ViewHolder(view, viewType);
      }
      return null;
  }
  
  @Override
  public void onBindViewHolder(ViewHolder holder, int position) {
      if (holder.viewType == ROW_TYPE) {
          String rowText = rows.get(position - 1);
          int imageView = icons.get(position - 1);
          holder.textView.setText(rowText);
          holder.imageView.setImageResource(imageView);
      } else if (holder.viewType == HEADER_TYPE) {
          holder.driverNameText.setText(driverName);
      }
  }
  
  @Override
  public int getItemCount() {
      return rows.size() + 1;
  }
  
  @Override
  public int getItemViewType(int position) {
      if (position == 0)
          return HEADER_TYPE;
      return ROW_TYPE;
  }
  
  public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
      protected int viewType;
      @Bind(R.id.drawer_row_icon)
      ImageView imageView;
      @Bind(R.id.drawer_row_text)
      TextView textView;
      @Bind(R.id.drawer_row_id)
      FrameLayout listRow;
      @Bind(R.id.driverName)
      TextView driverNameText;
  
      public ViewHolder(View itemView, int viewType) {
          super(itemView);
  
          this.viewType = viewType;
  
          if (viewType == ROW_TYPE) {
              ButterKnife.bind(this, itemView);
              imageView.setOnClickListener(this);
              textView.setOnClickListener(this);
              listRow.setOnClickListener(this);
          } else {
              ButterKnife.bind(this, itemView);
          }
      }
  
  
   }
  </code></pre>
  
  <p>As you can see in my <code>onCreateViewHolder</code> method, I'm checking for both <code>viewType</code>'s so I know which layout to draw. This in turn will create a new object for the <code>ViewHolder</code> class in which I "TRY" to bind the elements inside my xml depending on the <code>viewType</code>. Am I missing something, or doing something wrongly?</p>