public
class
CalendarRecyclerAdapter
extends
RecyclerView.Adapter<CalendarRecyclerAdapter.ItemViewHolder> {
private
ArrayList<DateData> listData =
new
ArrayList<>();
private
MyRecyclerViewClickListener mListener;
private
Context context;
public
interface
MyRecyclerViewClickListener {
void
onItemClicked(
int
position);
}
public
void
setOnClickListener(MyRecyclerViewClickListener listener) {
mListener = listener;
}
@NonNull
@Override
public
ItemViewHolder onCreateViewHolder(
@NonNull
ViewGroup parent,
int
viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.day_list, parent,
false
);
context = parent.getContext();
return
new
ItemViewHolder(view);
}
@Override
public
void
onBindViewHolder(
@NonNull
ItemViewHolder holder,
int
position) {
holder.onBind(listData.get(position));
if
(mListener !=
null
) {
final
int
pos = position;
holder.itemView.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View view) {
mListener.onItemClicked(pos);
}
});
}
}
@Override
public
int
getItemCount() {
return
listData.size();
}
public
void
addItem(DateData data) {
listData.add(data);
}
public
void
clear() {
listData.clear();
}
class
ItemViewHolder
extends
RecyclerView.ViewHolder {
private
final
TextView tv_title;
private
final
TextView tv_time;
private
final
TextView tv_name;
public
ItemViewHolder(
@NonNull
View itemView) {
super
(itemView);
tv_title = itemView.findViewById(R.id.tv_title);
tv_time = itemView.findViewById(R.id.tv_time);
tv_name = itemView.findViewById(R.id.tv_name);
}
void
onBind(
final
DateData data) {
tv_title.setText(data.getMeetingTitle());
tv_time.setText(data.getStartTime() +
"~"
+ data.getEndTime());
tv_name.setText(data.getMeetingName());
}
}
}