@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
if (position == 0) {
HeaderHolder headerHolder = (HeaderHolder) holder;
//专辑详情
Glide.with(mContext).load(mAlbum.getCoverUrlMiddle()).into(headerHolder.mIvAlbum);
headerHolder.mTvAlbumTitle.setText(mAlbum.getAlbumTitle());
LastUpTrack lastUptrack = mAlbum.getLastUptrack();
StringBuilder sb = new StringBuilder();
headerHolder.mTvLastTrack.setText(sb.append("更新至").append(TimeUtils.formatDate(new Date(lastUptrack.getCreatedAt()))).append(" ").append(lastUptrack.getTrackTitle()).toString());
sb.setLength(0);
headerHolder.mTvPlayCount.setText(sb.append(StringUtils.formPlayCount(mAlbum.getPlayCount())).append("次播放").toString());
sb.setLength(0);
headerHolder.mTvTrackCount.setText(sb.append(mAlbum.getIncludeTrackCount()).append("集").toString());
//订阅状态
boolean isSubscribe = mAlbumDao.isSubscribe(mAlbumId);
headerHolder.mTvSubscribe.setText(isSubscribe ? "已订阅" : "订阅");
LevelListDrawable ld = (LevelListDrawable) headerHolder.mTvSubscribe.getBackground();
ld.setLevel(isSubscribe ? 1 : 0);
if (mHistory != null) {
headerHolder.mRlHistoryBox.setVisibility(View.VISIBLE);
sb.setLength(0);
headerHolder.mTvHistoryTitle.setText(sb.append("继续播放:").append(mHistory.getTrackTitle()).toString());
sb.setLength(0);
NumberFormat nf = NumberFormat.getPercentInstance();
//返回数的整数部分所允许的最大位数
nf.setMaximumIntegerDigits(3);
//返回数的小数部分所允许的最大位数
nf.setMaximumFractionDigits(0);
headerHolder.mTvProgress.setText(sb.append("已播 ").append(nf.format(mHistory.getBreakPos() / (double) mHistory.getDuration())).toString());
headerHolder.mIvTingSwitch.setImageLevel((XmlyManager.get().isPlaying() && playTrackId == mHistory.getTrackId()) ? 1 : 0);
} else {
headerHolder.mRlHistoryBox.setVisibility(View.GONE);
}
} else {
Track track = mTracks.get(position);
TrackDetailHolder detailHolder = (TrackDetailHolder) holder;
detailHolder.mTvTrackTitle.setText(track.getTrackTitle());
detailHolder.mTvTrackTitle.setTextColor(track.getDataId() == playTrackId
? mContext.getResources().getColor(R.color.second_base_color)
: mContext.getResources().getColor(R.color.new_text_color_first));
detailHolder.mIvTingSwitch.setImageLevel(0);
if (track.getDataId() == playTrackId)
detailHolder.mIvTingSwitch.setImageLevel(XmlyManager.get().isPlaying() ? 1 : 0);
detailHolder.mTvCreated.setText(TimeUtils.getInstance().getDateString(new Date(track.getCreatedAt())));
detailHolder.mTvDuration.setText(new SimpleDate().formDuration(track.getDuration()));
}
}
TingAlbumDetailAdapter.java 文件源码
java
阅读 18
收藏 0
点赞 0
评论 0
项目:AssistantBySDK
作者:
评论列表
文章目录