1
내 FragmentA
에는 ListView
이 포함되어 있습니다. 내 FragmentB
에는 각 항목의 세부 정보가 들어 있습니다. FragmentA의 onItemClickListener()
에서 거래를 시작하려면 어떻게해야합니까? FragmentA
의 생성에 조각 내에서 FragmentTransaction을 시작하는 방법
Fragment newFragment = EntryFragment.newInstance();
FragmentTransaction transaction = ((FragmentActivity)context).getSupportFragmentManager().beginTransaction();
transaction
.replace(containerId, newFragment)
.addToBackStack(null)
.commit();
는 I는
R.id.container
containerId
에 전달한다. 트랜잭션이 호출되면 "0x0somehexnumber ID에 대한 뷰가 없습니다."
IMHO, FragmentA는 계약 패턴을 통해 호스팅 활동에 대한 메소드를 호출하고 해당 활동이 UI 이벤트에 응답하도록해야합니다. 단편 B를 보여주는 것은 모든 화면 크기 등에서 옳은 대답이 아닐 수 있으며 일반적으로 화면 크기를 무시해야합니다. 그 너머에는 잘못된 값인 containerId를 가지고있는 것으로 보일 것입니다. 에러 메시지는 그 값이 아무것도 없다는 것을 나타냅니다. – CommonsWare
ID가 어떤보기에 속해 있다는 것을 알고 있습니까? gen/com.example.packagename/R.java를보고 뷰 ID를 확인할 수 있습니다. – edisonthk