code: @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container, int highlightColor) {
          Context ctx = inflater.getContext();
          View view = inflater.inflate(R.layout.navdrawer_item, container, false);
  
          ImageView iconView = ButterKnife.findById(view, R.id.icon);
          TextView titleView = ButterKnife.findById(view, R.id.title);
          TextView badgeView = ButterKnife.findById(view, R.id.badge);
  
          // Set the textResId
          FontLoader.apply(titleView, Face.ROBOTO_MEDIUM);
          titleView.setText(textResId);
  
          // Set the iconResId, if provided
          iconView.setVisibility(iconResId > 0 ? View.VISIBLE : View.GONE);
          if(iconResId > 0)
              iconView.setImageResource(iconResId);
  
          // configure its appearance according to whether or not it's selected
          titleView.setTextColor(selected ?
                  highlightColor :
                  UIUtils.getColorAttr(ctx, android.R.attr.textColorPrimary));
  
          iconView.setColorFilter(selected ?
                  highlightColor :
                  ctx.getResources().getColor(R.color.navdrawer_icon_tint));
  
          // Setup the badge view
          if(badge != null) {
              Drawable badgeBackground = DrawableCompat
                      .wrap(ctx.getResources().getDrawable(R.drawable.badge));
              DrawableCompat.setTint(badgeBackground, badge.getColor());
              badgeView.setBackground(badgeBackground);
              badgeView.setTextColor(badge.getTextColor());
              badgeView.setText(badge.getText());
              badgeView.setVisibility(View.VISIBLE);
          }
  
          return view;
      }
docs: Called to create this view
  
  @param inflater      the layout inflater to inflate a layout from system
  @param container     the container the layout is going to be placed in
  @return