안녕하세요
아래와 같은 UI가 필요해서 FragmentTabHost과 Fragment를 이용해 구성중입니다.
요지는 하단 탭바가 존재하며 탭바를 누를 시 등록된 Fragment 를 보여줍니다.
Fragment에는 단순히 제목과 작성자를 뿌려주는 리스트를 보여주는데
리스트아이템을 클릭 시 새로운 Fragment2로 대체되면서 디테일한 정보를 보여주게 됩니다.
이때 애니메이션 효과가 들어가며 하단 탭바가 유지되어야 하며 Back 버튼 클릭 시
이전화면으로 돌아와 다시 리스트를 뿌려주어야 합니다.
이를 위해서 FragmentTabHost 에 두개의 Fragment를 Add해주었고
Fragment1에서 아이템 클릭 시 Fragment2를 보여주게 했습니다.
이걸 위해 사용한 코드는 다음과 같습니다.
Fragment newFragment = new SubFragmentTab1();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.container4, newFragment );
transaction.addToBackStack(null);
transaction.commit();
하지만 이 코드를 호출하면 다음과 같은 에러를 마주하게 됩니다.
java.lang.IllegalArgumentException: No view found for id 0x7f090012 (com.example.study:id/container4) for fragment SubFragmentTab1{41385c78 #1 id=0x7f090012}
분명 XML 에 ID값도 다 정의했지만 이런 에러가 발생해서 구글링을 엄청나게 했음에도 답을 찾지 못했습니다.
제가 아예 안되는길을 가고 있는건 아닌가 하는 생각이 들기도 합니다.
고수님의 조언을 부탁드리며 스터디용으로 하기 때문에 필요시 전체 소스 제공이 가능합니다.
부탁드려봅니다.
* 추가 설명
FragmentActivity 를 상속받아 Main을 잡았으며 그 안에서 FragmentTabHost 를 써서 탭을 추가하였습니다.
각각의 Fragment 클래스 4개가 생성되며 A Fragment에서 A' Fragment 를 위 코드를 써서 보여주려는 것...
나중에 소스파일 전체를 올리도록 하겠습니다.
