본문 바로가기
프로그래밍/안드로이드 <Kotlin>

[android/java] recyclerview onClickListener에서 fragment transaction 및 startActivity 구현하기

by TaeGyeong Lee 2024. 1. 15.

가정

custom recyclerView를 이미 구현했다고 가정합니다. 아래와 같이 생성자 내부에 onClick 리스너가 작성된 상태에서 시작합니다.

public class TestAdapter extends RecyclerView.Adapter<TestAdapter.ViewHolder> {
    ...

    public static class ViewHolder extends RecyclerView.ViewHolder {
		...
        private AppCompatActivity activity;

        public ViewHolder(View view) {
            super(view);
            
            ...
            
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    
                }
            });

 

Fragment to Fragment

동일한 액티비티 context 내부의 다른 fragment 레이아웃으로 교체되어야 하는 경우

private activity = (AppCompatActivity) view.getContext();
activity.getSupportFragmentManager().beginTransaction().replace(R.id.교체Fragment레이아웃, new 교체되는Fragment()).commit();

 

Fragment to Activity

다른 액티비티를 시작해야 하는 경우

Intent intent = new Intent(view.getContext(), 교체대상액티비티.class);
activity.startActivity(intent);

 

참고 자료

https://stackoverflow.com/questions/46954409/how-to-send-data-from-fragment-to-another-activity

 

How to send data from fragment to another activity?

I need to send data from Fragment to another activity I am using this code in my LoadsFragment under HomeActivity Intent intent = new Intent(activity, LoadActivity.class); intent.putExtra("

stackoverflow.com