/** * 加载 福利 * * @param easyRecyclerViewHolder easyRecyclerViewHolder * @param position position */ private void loadingWelfare(EasyRecyclerViewHolder easyRecyclerViewHolder, int position) { BaseGankData baseGankData = this.getItem(position); if (baseGankData == null) return; RatioImageView welfareIV = easyRecyclerViewHolder.findViewById(R.id.welfare_iv); if (position % 2 == 0) { welfareIV.setImageRatio(0.7f); } else { welfareIV.setImageRatio(0.6f); } // 图片 if (TextUtils.isEmpty(baseGankData.url)) { GlideUtils.displayNative(welfareIV, R.mipmap.img_default_gray); } else { GlideUtils.display(welfareIV, baseGankData.url); } }
/** * 加载每日干货类型数据 * * @param easyRecyclerViewHolder easyRecyclerViewHolder * @param position position */ private void loadingDaily(EasyRecyclerViewHolder easyRecyclerViewHolder, int position) { GankDaily dailyData = this.getItem(position); if (dailyData == null) return; ImageView dailyIV = easyRecyclerViewHolder.findViewById(R.id.daily_iv); TextView dailyDateTV = easyRecyclerViewHolder.findViewById(R.id.daily_date_tv); TextView dailyTitleTV = easyRecyclerViewHolder.findViewById(R.id.daily_title_tv); TextView androidTagTV = easyRecyclerViewHolder.findViewById(R.id.daily_android_tag_tv); TextView iOSTagTV = easyRecyclerViewHolder.findViewById(R.id.daily_ios_tag_tv); TextView jsTagTV = easyRecyclerViewHolder.findViewById(R.id.daily_js_tag_tv); /* * 标题 和 日期 * * 如果没有视频的title和date就找福利的title和date,实在没有就,完! */ if (dailyData.results.videoData != null && dailyData.results.videoData.size() > 0) { BaseGankData video = dailyData.results.videoData.get(0); dailyTitleTV.setText(video.desc.trim()); dailyDateTV.setText( DateUtils.date2String(video.publishedAt.getTime(), Constant.DAILY_DATE_FORMAT)); } else if (dailyData.results.welfareData != null && dailyData.results.welfareData.size() > 0) { BaseGankData welfare = dailyData.results.welfareData.get(0); dailyTitleTV.setText(welfare.desc.trim()); dailyDateTV.setText( DateUtils.date2String(welfare.publishedAt.getTime(), Constant.DAILY_DATE_FORMAT)); } else { dailyTitleTV.setText("这期没福利了,安心学习吧!"); dailyDateTV.setText(""); } // 图片 if (dailyData.results.welfareData != null && dailyData.results.welfareData.size() > 0) { final BaseGankData welfare = dailyData.results.welfareData.get(0); GlideUtils.display(dailyIV, welfare.url); dailyIV.setOnClickListener( v -> { if (MainAdapter.this.listener != null) MainAdapter.this.listener.onClickPicture(welfare.url, welfare.desc, v); }); } else { GlideUtils.displayNative(dailyIV, R.mipmap.img_default_gray); } /* * 标签 ListView 和 RecyclerView 都要写else 因为复用问题 * 忧伤 */ if (dailyData.category == null) { androidTagTV.setVisibility(View.GONE); iOSTagTV.setVisibility(View.GONE); jsTagTV.setVisibility(View.GONE); } else { if (dailyData.category.contains(GankApi.DATA_TYPE_ANDROID)) { androidTagTV.setVisibility(View.VISIBLE); } else { androidTagTV.setVisibility(View.GONE); } if (dailyData.category.contains(GankApi.DATA_TYPE_IOS)) { iOSTagTV.setVisibility(View.VISIBLE); } else { iOSTagTV.setVisibility(View.GONE); } if (dailyData.category.contains(GankApi.DATA_TYPE_JS)) { jsTagTV.setVisibility(View.VISIBLE); } else { jsTagTV.setVisibility(View.GONE); } } }