@Override
 public void onAttachedToRecyclerView(RecyclerView recyclerView) {
   super.onAttachedToRecyclerView(recyclerView);
   mLevelIndicatorWidth = AppUtils.getDimensionInDp(mContext, R.dimen.level_indicator_width);
   mAutoExpand = Preferences.shouldAutoExpandComments(mContext);
   mColorCoded = Preferences.colorCodeEnabled(mContext);
   if (mColorCoded) {
     mColors = mContext.getResources().obtainTypedArray(R.array.color_codes);
   }
   mRecyclerView = recyclerView;
 }
  @Override
  protected void bind(final ItemViewHolder holder, final StoryModel item) {
    super.bind(holder, item);
    if (item == null) return;

    holder.postedTextView.setText(item.getDisplayedTime(context, false, true));
    //        if (item.getKidCount() > 0) {
    //            holder.commentButton.setText(context.getResources()
    //                    .getQuantityString(R.plurals.comments_count, item.getKidCount(),
    // item.getKidCount()));
    //            holder.commentButton.setVisibility(View.VISIBLE);
    //            holder.commentButton.setOnClickListener(new View.OnClickListener() {
    //                @Override
    //                public void onClick(View v) {
    //                    openItem(item);
    //                }
    //            });
    //        }
  }
 @Override
 protected void bind(SubmissionViewHolder holder, final Item item) {
   super.bind(holder, item);
   holder.mPostedTextView.setText(
       item.getDisplayedTime(mContext, false, !TextUtils.equals(item.getBy(), mUsername)));
   holder.mMoreButton.setVisibility(View.GONE);
   if (TextUtils.equals(item.getType(), Item.COMMENT_TYPE)) {
     holder.mTitleTextView.setText(null);
     holder.itemView.setOnClickListener(null);
     holder.mCommentButton.setVisibility(View.GONE);
   } else {
     holder.mTitleTextView.setText(item.getDisplayedTitle());
     holder.mCommentButton.setVisibility(View.VISIBLE);
     holder.mCommentButton.setOnClickListener(
         new View.OnClickListener() {
           @Override
           public void onClick(View v) {
             openItem(item);
           }
         });
   }
   holder.mTitleTextView.setVisibility(
       holder.mTitleTextView.length() > 0 ? View.VISIBLE : View.GONE);
   holder.mContentTextView.setVisibility(
       holder.mContentTextView.length() > 0 ? View.VISIBLE : View.GONE);
   if (!mExpanded.contains(item.getId()) && item.getParentItem() != null) {
     mExpanded.add(item.getId());
     new Handler()
         .post(
             new Runnable() {
               @Override
               public void run() {
                 mItems.add(0, item.getParentItem()); // recursive
                 notifyItemRangeChanged(1, mItems.size());
                 notifyItemInserted(0);
               }
             });
   }
 }
 @Override
 protected void bind(final ItemViewHolder holder, final Item item) {
   super.bind(holder, item);
   if (item == null) {
     return;
   }
   holder.mPostedTextView.setText(item.getDisplayedTime(mContext, false, true));
   if (item.getKidCount() > 0) {
     holder.mCommentButton.setText(
         mContext
             .getResources()
             .getQuantityString(R.plurals.comments_count, item.getKidCount(), item.getKidCount()));
     holder.mCommentButton.setVisibility(View.VISIBLE);
     holder.mCommentButton.setOnClickListener(
         new View.OnClickListener() {
           @Override
           public void onClick(View v) {
             openItem(item);
           }
         });
   }
 }
 @Override
 public void onAttachedToRecyclerView(RecyclerView recyclerView) {
   super.onAttachedToRecyclerView(recyclerView);
   mLevelIndicatorWidth = AppUtils.getDimensionInDp(mContext, R.dimen.level_indicator_width);
 }
 @Override
 public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
   mRecyclerView = null;
   super.onDetachedFromRecyclerView(recyclerView);
 }