본문 바로가기
안드로이드

안드로이드 - RecyclerView adapter에서, 새로운 액티비티를 실행하는 방법

by leo104 2023. 2. 1.
728x90

1. 받을 데이터를 intent에 담아서 RecyclerView adapter 화면을 띄운다.

 

cardView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                    // 1. 인텐트에 유저가 어떤 행을 눌렀는지 파악하여
                    //    누른 이름과 전화번호를 담아서
                    int index = getAdapterPosition();

                    Contact contact = contactList.get(index);

                    // 2. 수정 액티비티를 띄운다.
                    //    어떤 액티비티가 어떤 액티비티를 띄운다!! => 인텐트에 있어야 한다.
                    Intent intent = new Intent(context, EditActivity.class);

                    intent.putExtra("contact", contact);

//                    intent.putExtra("id", contact.id);
//                    intent.putExtra("name", contact.name);
//                    intent.putExtra("phone", contact.phone);


                    context.startActivity(intent);

                }

intent의 파라미터에는 어떤 액티비티에서 어떤 액티비티를 띄울것인지 각자 지정해주어야 하는데 adapter는 액티비티가 아니라 일관성이 없다.

그렇기 때문에 멤버 변수로 저장했던 this.context = context ; 의 context가 MainActivity로 넘겨받았기 때문에 파라미터에 Context, 띄울 액티비티를 넣어준다.

public ContactAdapter(Context context, List<Contact> contactList) {
    this.context = context;
    this.contactList = contactList;
}
728x90