87 lines
2.8 KiB
Java
87 lines
2.8 KiB
Java
package com.xscm.modulemain.adapter;
|
|
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.TextView;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
import com.xscm.modulemain.R;
|
|
import com.xscm.moduleutil.bean.GiftBoxBean;
|
|
import com.xscm.moduleutil.bean.TaskItem;
|
|
|
|
import java.util.List;
|
|
|
|
public class TaskSectionAdapter extends RecyclerView.Adapter<TaskSectionAdapter.SectionViewHolder> {
|
|
|
|
private List<TaskItem> sections;
|
|
|
|
public TaskSectionAdapter(List<TaskItem> sections) {
|
|
this.sections = sections;
|
|
}
|
|
// 定义点击事件接口
|
|
public interface OnItemClickListener {
|
|
void onItemClick(TaskItem taskItem, GiftBoxBean.TaskDataBean.DailyTasksBean item);
|
|
}
|
|
|
|
private OnItemClickListener listener;
|
|
|
|
public void setOnItemClickListener(OnItemClickListener listener) {
|
|
this.listener = listener;
|
|
}
|
|
@NonNull
|
|
@Override
|
|
public SectionViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_task_header, parent, false);
|
|
return new SectionViewHolder(view);
|
|
}
|
|
|
|
@Override
|
|
public void onBindViewHolder(@NonNull SectionViewHolder holder, int position) {
|
|
TaskItem section = sections.get(position);
|
|
holder.title.setText(section.title);
|
|
|
|
TaskDataAdapter adapter = new TaskDataAdapter();
|
|
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext()));
|
|
holder.recyclerView.setAdapter(adapter);
|
|
adapter.setNewData(section.tasks);
|
|
if (position==2){
|
|
holder.view.setVisibility(View.VISIBLE);
|
|
}else {
|
|
holder.view.setVisibility(View.GONE);
|
|
}
|
|
|
|
adapter.setItemClickLitener(new TaskDataAdapter.ItemClickLitener() {
|
|
@Override
|
|
public void onItemClick(View view, int position, GiftBoxBean.TaskDataBean.DailyTasksBean item) {
|
|
if (listener!= null) {
|
|
listener.onItemClick(section,item);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override
|
|
public int getItemCount() {
|
|
return sections.size();
|
|
}
|
|
|
|
static class SectionViewHolder extends RecyclerView.ViewHolder {
|
|
TextView title;
|
|
RecyclerView recyclerView;
|
|
View view;
|
|
|
|
public SectionViewHolder(@NonNull View itemView) {
|
|
super(itemView);
|
|
title = itemView.findViewById(R.id.tv_title);
|
|
recyclerView = itemView.findViewById(R.id.rv_task_list);
|
|
recyclerView.setLayoutManager(new LinearLayoutManager(itemView.getContext()));
|
|
view = itemView.findViewById(R.id.v);
|
|
}
|
|
}
|
|
}
|
|
|