package org.techtown.dailyscheduler;
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 java.util.ArrayList;
public class MemoAdapter extends RecyclerView.Adapter<MemoAdapter.ViewHolder> {
ArrayList<Memo> items = new ArrayList<Memo>();
public interface OnItemClickListener{
void onItemClick(View v, int position);
}
private OnItemClickListener mListener = null;
public void setOnItemClickListener(OnItemClickListener listener){
this.mListener = listener;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext());
View itemView = inflater.inflate(R.layout.schedule_board, viewGroup, false);
return new ViewHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, int position) {
Memo item = items.get(position);
viewHolder.setItem(item);
}
@Override
public int getItemCount() {
return items.size();
}
public void addItem(Memo item){
items.add(item);
}
public class ViewHolder extends RecyclerView.ViewHolder{
TextView textView;
TextView textView2;
TextView textView3;
public ViewHolder(View itemView){
super(itemView);
textView = itemView.findViewById(R.id.textView1);
textView2 = itemView.findViewById(R.id.textView2);
textView3 = itemView.findViewById(R.id.textView3);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int position = getAdapterPosition();
if(position != RecyclerView.NO_POSITION){
if(mListener!=null){
mListener.onItemClick(view,position);
}
}
}
});
}
public void setItem(Memo item){
textView.setText(item.getSubject());
textView2.setText(item.getContent());
textView3.setText(item.getTime());
}
}
}
MemoAdapter memoAdapter;
memoAdapter.setOnItemClickListener(new MemoAdapter.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
}
});
리사이클러 뷰의 adapter 부분과 밑에는 메인액티비티의 onCreate 내부에 작성한 것 입니다. 인터넷에서 찾은거 그대로 적은거같은데 실행 자체가 안되고 FATAL EXCEPTION이 뜨면서 앱이 종료됩니다 어디서 문제가 있는건지 알려주세요 ㅠㅠ