RecyclerView Click Event 적용 개요
이전 발행글에서 RecyclerView를 적용하는 방법에 대해 알아보았습니다.
RecyclerView 적용 방법에 대한 내용은 아래 링크를 참고하길 바랍니다.
2022.09.29 - [IT/Android] - Android Retrofit2 데이터 RecyclerView 적용하기
Android Retrofit2 데이터 RecyclerView 적용하기
개요 지난 발행글에서 Retrofit2 를 사용하여 공공데이터포탈의 API를 사용하여 데이터 가져오기를 해보았다. 이번글에서는 해당 데이터를 기반으로 RecyclerView를 활용하여 리스트뷰를 만드는 작업
soir1984.tistory.com
이번에는 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 검색 기능 적용하기
Android RecyclerView 검색 기능 적용하기
개요 이전 발행글에서 RecyclerView Click Evnet를 적용하는 방법에 대해 알아보았다. 참고 RecyclerView 관련 정보 링크 2022.09.28 - [IT/Android] - Android Retrofit2를 활용한 공공데이터 API 사용하기 Andro..
soir1984.tistory.com
'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 |
댓글