title: Recyler view item gets selected only on clicking the text
body: <p>I have implemented the RecyclerView with an adapter for items and each item has a drawer item layout containing an imageview and a textview.<br>
  The problem is that the onClick function is called only when the image or the "actual text" which differs in size is clicked and not the whole row.<br>
  Is there a way to make to whole row listen with onClick function? Please let me know if you have any ideas.
  Thanks in advance.<br>
  <a href="http://i.imgur.com/Mxiyfgp.png?1" rel="nofollow">RecyclerView image</a>  </p>
  
  <p>RecyclerViewAdapter.java</p>
  
  <pre><code>public class RecyclerViewAdapter extends RecyclerView.Adapter&lt;RecyclerViewAdapter.ViewHolder&gt; {
  String[] titles;
  TypedArray icons;
  Context context;
  RecyclerViewAdapter(String[] titles, TypedArray icons, Context context){
  
          this.titles = titles;
          this.icons = icons;
          this.context = context;
  }
  
  public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener  {
  
      TextView navTitle;
      ImageView navIcon;
      Context context;
  
      public ViewHolder(View drawerItem , int itemType , Context context){
  
          super(drawerItem);
          this.context = context;
          drawerItem.setOnClickListener(this);
          if(itemType==1){
              navTitle = (TextView) itemView.findViewById(R.id.tv_NavTitle);
              navIcon = (ImageView) itemView.findViewById(R.id.iv_NavIcon);
          }
      }
  
     /**
      *This defines onClick for every item with respect to its position.
      */
  
      @Override
      public void onClick(View v) {
  
          MainActivity mainActivity = (MainActivity)context;
          mainActivity.drawerLayout.closeDrawers();
          FragmentTransaction fragmentTransaction = mainActivity.getSupportFragmentManager().beginTransaction();
  
          //switch (getPosition()){
          switch (getAdapterPosition()){
              case 1:
                  Fragment fragment = new CountryWise();
                  fragmentTransaction.replace(R.id.containerView,fragment);
                  fragmentTransaction.commit();
                  break;
              case 2:
                  Fragment f2 = new CompanyWise();
                  fragmentTransaction.replace(R.id.containerView,f2);
                  fragmentTransaction.commit();
                  break;
              case 3:
                  Fragment about = new About();
                  fragmentTransaction.replace(R.id.containerView,about);
                  fragmentTransaction.commit();
                  break;
          }
      }
  }
  
  @Override
  public RecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  
      LayoutInflater layoutInflater = (LayoutInflater) parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  
          if(viewType==1){
               View itemLayout =   layoutInflater.inflate(R.layout.drawer_item_layout,null);
               return new ViewHolder(itemLayout,viewType,context);
          }
          else if (viewType==0) {
              View itemHeader = layoutInflater.inflate(R.layout.header_layout,null);
              return new ViewHolder(itemHeader,viewType,context);
          }
  
      return null;
  }
  
     /**
  *This method is called by RecyclerView.Adapter to display the data at the specified position.�
  *This method should update the contents of the itemView to reflect the item at the given position.
  *So here , if position!=0 it implies its a row_item and we set the title and icon of the view.
  */
  
  @Override
  public void onBindViewHolder(RecyclerViewAdapter.ViewHolder holder, int position) {
  
      if(position!=0){
          holder.navTitle.setText(titles[position - 1]);
          holder.navIcon.setImageResource(icons.getResourceId(position-1,-1));
      }
  }
  
  @Override
  public int getItemViewType(int position) {
      if(position==0)return 0;
      else return 1;
  }
  </code></pre>
  
  <p>}</p>
  
  <p>drawer_item_layout.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:paddingBottom="8dp"
  android:paddingTop="8dp"
  android:layout_width="match_parent"
  android:layout_height="match_parent"&gt;
  
  &lt;ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="16dp"
      android:id="@+id/iv_NavIcon"
      /&gt;
  
  &lt;TextView
      android:layout_gravity="center"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="30dp"
      android:id="@+id/tv_NavTitle"
      android:textAppearance="?android:attr/textAppearanceMedium"
      android:textColor="#000000"
      android:textSize="18sp"
      android:textStyle="bold"
      /&gt;
  </code></pre>
  
  <p></p>
  
  <p>activity_main.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;android.support.v4.widget.DrawerLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/drawerMainActivity"
  android:layout_width="match_parent"
  android:layout_height="match_parent"&gt;
  
  &lt;LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="vertical"&gt;
  
      &lt;android.support.v7.widget.Toolbar
  xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/toolBar"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:background="?attr/colorPrimary"
          android:fitsSystemWindows="true"
          android:minHeight="?android:attr/actionBarSize"
          android:theme="@style/ThemeOverlay.AppCompat.Dark" /&gt;
  
      &lt;FrameLayout
          android:id="@+id/containerView"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical"&gt;
  
      &lt;/FrameLayout&gt;
  &lt;/LinearLayout&gt;
  
  &lt;android.support.v7.widget.RecyclerView
      android:id="@+id/recyclerView"
      android:layout_width="240dp"
      android:layout_height="match_parent"
      android:layout_gravity="start"
      android:background="#FFFFFF"
      android:paddingTop="40dp"
      android:scrollbars="vertical" /&gt;
  
  &lt;/android.support.v4.widget.DrawerLayout&gt;
  </code></pre>
  
  <p>Please let me know if you need more code.</p>