
426 Chapter 9
올바른 운동 보여주기
리스트를 세부로 연결하기
운동을 클릭했을 때 다양한 방법으로
DetailActivity
를 실행해 자세한
정보를 보여줄 수 있습니다. 그중에서 다음과 같은 방법을 사용합니다.
WorkoutListFragment
에 클릭 이벤트를 기다리는 코드를 추가합니다.
1
코드가 실행되면
DetailActivity
를 실행하는 코드를
MainActivity
.
java
에서
호출하는데 이때 선택된 운동
ID
를 전달합니다.
2
MainActivity
와 직접 의사소통할 수 있도록
WorkoutListFragment
에
코드를 구현하지 않았는데 그 이유를 아시나요?
재사용 때문입니다. 어디에서나 재사용할 수 있도록 프래그먼트가 자신을
포함하는 환경을 가능한 한 신경 쓰지 않게 만들었습니다. 자신을 사용하는
액티비티를 더 많이 알면 알수록 그 프래그먼트를 재사용하기 어려워집니다.
잠깐만요! 프래그먼트가 자신을 포함하는
액티비티를 모르게 한다고요? 그런데 프래그먼트가
MainActivity의 코드를 호출해야 한다고
말씀하셨잖아요? 그러면 그 프래그먼트는 다른
액티비티에서는 사용할 수 없는 거 아닌가요?
인터페이스로 프래그먼트와 액티비티의 결합을 끊어야 합니다.
서로 상호작용하는 두 개의 객체, 즉 프래그먼트와 액티비티가
있는데 우리는 상대 ...