@Override
  public void onBindViewHolder(ViewHolder holder, int position) {
    final FishInfo fishInfo = mDataSet.get(position);

    String thumbnailUrl = String.format("http://ff14angler.com/img/f%04d.png", fishInfo.getId());
    Picasso.with(mContext).load(thumbnailUrl).noFade().into(holder.mThumbnailView);

    holder.mNameView.setText(fishInfo.getName());
    holder.mItemLevelView.setText("ITEM Lv " + fishInfo.getItemLv() + " " + fishInfo.getLv());
    holder.mPatchView.setText(fishInfo.getPatch());

    Resources resources = mContext.getResources();
    String typeString;
    if (fishInfo.getType() == FishDataSet.FishTypes.SUPER_SPIRIT.ordinal()) {
      typeString = resources.getString(R.string.fish_type_super_spirit);
    } else if (fishInfo.getType() == FishDataSet.FishTypes.SPIRIT.ordinal()) {
      typeString = resources.getString(R.string.fish_type_spirit);
    } else {
      typeString = resources.getString(R.string.fish_type_normal);
    }
    holder.mTypeView.setText(typeString);

    holder.mLinkButton.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            String pageUrl = "http://ff14angler.com/fish/" + fishInfo.getId();

            Intent intent = new Intent(mContext, WebViewActivity.class);
            intent.putExtra("page_url", pageUrl);
            intent.putExtra("fish_name", fishInfo.getName());
            mContext.startActivity(intent);
          }
        });

    holder.itemView.setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View v) {
            TextView checkmarkView = (TextView) v.findViewById(R.id.checkmark_view);
            int visibility =
                checkmarkView.getVisibility() == View.VISIBLE ? View.INVISIBLE : View.VISIBLE;
            checkmarkView.setVisibility(visibility);
          }
        });
  }
 @Override
 public int getItemCount() {
   return mDataSet.size();
 }