반응형
RecyclerView Click Event 적용 개요
이전 발행글에서 RecyclerView를 적용하는 방법에 대해 알아보았습니다.
RecyclerView 적용 방법에 대한 내용은 아래 링크를 참고하길 바랍니다.
2022.09.29 - [IT/Android] - Android Retrofit2 데이터 RecyclerView 적용하기
이번에는 RecyclerView 리스트에서 Click Event를 발생시키는 방법에 대해 설명합니다.
RecyclerView Click Event 구현
처음으로 click event를 위한 listener 를 하나 생성합니다.
public interface ServiceItemClickListener {
void onItemClickListener(View v, int position);
}
Adapter에서 ViewHolder 부분에 아래 구현부를 삽입합니다.
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private TextView rank, serviceName, servicePurpose;
ServiceItemClickListener serviceItemClickListener;
public ViewHolder(View itemView) {
super(itemView);
serviceName = itemView.findViewById(R.id.serviceName);
servicePurpose = itemView.findViewById(R.id.servicePurpose);
itemView.setOnClickListener(this);
}
public void setItem(ServiceModel item){
serviceName.setText(item.getServiceName());
servicePurpose.setText(item.getServicePurpose());
}
@Override
public void onClick(View v){
this.serviceItemClickListener.onItemClickListener(v,getLayoutPosition());
}
}
- 1. ItemClickListener 객체 생성
- 2. Holder itemView에 onClickListener 설정
- 3. onClick Override 후 생상한 ItemClickListener로 View 및 LayoutPosition 전달
Adapter에서 onBindViewHolder 부분에 ItemClickListener 등록합니다.
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
ServiceModel item = items.get(position);
holder.setItem(item);
holder.serviceItemClickListener = new ServiceItemClickListener() {
@Override
public void onItemClickListener(View v, int position) {
Log.d(TAG, "position: " + position);
//여기서 클릭했을 경우 프로세스 구현
}
};
}
int 값인 position parameter로 클릭한 리스트의 정수(index) 값이 전달됩니다.
해당 index 값을 활용하여 사용중인 객체'List Object'에서 index 값을 꺼내서 사용하면 되고, 해당 객체를 통해 이후 프로세스를 구현하면 됩니다.
다음으로는 RecyclerView 에 검색 기능을 추가하도록 합시다. 아래 링크를 참고하세요.
2022.09.29 - [IT/Android] - Android RecyclerView 검색 기능 적용하기
반응형
'IT > Android' 카테고리의 다른 글
Android BottomNavigationView 색상 변경 방법 (icon, text, background) (1) | 2022.10.19 |
---|---|
Android RecyclerView 검색 기능 적용하기 (0) | 2022.09.29 |
Android Retrofit2 데이터 RecyclerView 적용하기 (0) | 2022.09.29 |
Android Retrofit2를 활용한 공공데이터 API 사용하기 (1) | 2022.09.28 |
Android 좌우 드래그(drag)해서 화면 전환 기능 만들기 (0) | 2022.09.08 |
댓글