📝Fragment에서 RecyclerView 클릭 이벤트 처리하기
어댑터에 플래그먼트에서 특정행이나 버튼을 누르면 처리할 수 있게 함수를 만들어준다
public interface OnItemClickListener {
// 프레그먼트에서 사용가능토록 어댑터의 특정행이나 버튼 누르면 처리할 함수를 만든다
void likeProcess(int index);
void onImageClick(int index);
}
public OnItemClickListener listener;
public void setOnItemClickListener(OnItemClickListener listener) {
this.listener = listener;
};
어댑터의 ViewHolder안에 클릭했을때 이벤트 작성
imgLike.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int index = getAdapterPosition();
listener.likeProcess(index);
}
});
imgPhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int index = getAdapterPosition();
listener.onImageClick(index);
}
});
플래그먼트에서 어댑터를 만들때 위에서 만드 함수를 구현해준다
adapter = new PostingAdapter(getActivity(), postingList);
adapter.setOnItemClickListener(new PostingAdapter.OnItemClickListener() {
@Override
public void likeProcess(int index) {
// 좋아요 기능 구현한 함수
FirstFragment.this.likeProcess(index);
}
@Override
public void onImageClick(int index) {
// 이미지를 클릭하면 해당 이미지를 크게 볼 수 있게 코드 입력
Posting posting = postingList.get(index);
String imgUrl = posting.getImgUrl();
Intent intent = new Intent(getActivity(), PhotoActivity.class);
intent.putExtra("imgUrl", imgUrl);
startActivity(intent);
}
});
recyclerView.setAdapter(adapter);
'Android Studio' 카테고리의 다른 글
[Android Studio] 카카오 로그인 API로 간편 로그인 구현하기 (0) | 2023.03.31 |
---|---|
[Android Studio] Android Studio에 firebase 연동하기 (0) | 2023.02.23 |
[Android Studio] TabBar Fragment 사용하기 (0) | 2023.02.15 |
[Android Studio] TabBar 만들기 (0) | 2023.02.15 |
[Android Studio] 내가 만든 좋아요 API 기능 구현하기 (0) | 2023.02.14 |
댓글