package com.community.pocket.data.adapter; import android.content.Context; import android.text.format.DateFormat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.community.pocket.R; import com.community.pocket.data.model.Notice; import java.util.Date; import java.util.List; /** * 公告内容 * TODO 实现无限循环自动滚动 */ public class NoticeAdpter extends RecyclerView.Adapter { private List noticeList; public NoticeAdpter(List noticeList) { this.noticeList = noticeList; } @NonNull @Override public PagerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.forum_notice, parent, false); return new PagerViewHolder(itemView); } @Override public void onBindViewHolder(@NonNull PagerViewHolder holder, int position) { Notice notice = noticeList.get(position); //设置数据源 holder.title.setText(notice.getTitle()); holder.content.setText(notice.getContent()); Context context = holder.author.getContext(); Date date = new Date(); date.setTime(notice.getTime()); holder.author.setText(context.getString(R.string.notice_author, notice.getAuthor())); holder.time.setText(context.getString(R.string.notice_time, DateFormat.format(context.getString(R.string.dateformat), date))); } @Override public int getItemCount() { return noticeList.size(); } // ViewHolder需要继承RecycleView.ViewHolder static class PagerViewHolder extends RecyclerView.ViewHolder { //公告标题 private TextView title; //公告内容 private TextView content; //公告管理员 private TextView author; //公告时间 private TextView time; PagerViewHolder(@NonNull View itemView) { super(itemView); //初始化组件 title = itemView.findViewById(R.id.notice_title); content = itemView.findViewById(R.id.notice_content); author = itemView.findViewById(R.id.notice_author); time = itemView.findViewById(R.id.notice_time); } } }