fragment 화면 교체하기

조회수 9530회

제가 지금 안드로이드를 공부할겸 해서 기본 어플 부터 만들고 있습니다. 그 시작으로 메모장 어플을 만드는 중인데, fragment에 listview를 사용해서 메모한 목록들을 보여주는게 됩니다.

이미지 이름이나 설명을 여기에 넣어주세요.

여기서 리스트 프레그먼트에 있는 메모들은 고정크기로 설정하였습니다. 그리고 그 메모 아이템을 클릭하면 그림에서 처럼 다른 프레그먼트(이름 넣는걸 깜빡했네요)를 replace 해서 띄워주게 됩니다.

그 다음이 문제인데, 메모1을 클릭한 다음에 다시 리스트 프레그먼트로 돌아가야하는데 어떻게 돌아 갈수 있을 까요?

지금 사용한 방법이 세부내용을 보여주는 프레그먼트에서 getActivity().getSupportFragmentManager().beginTransaction().replace(~~~!~!~!~ 이렇게 해서 바꾸는 것은 성공했는데, 기존 메모들이 안보이네요....ㅠ

아 그리고 리스트 프레그먼트에서 메모1을 클릭하면 세부 내용이 다른 프레그먼트로 replace 한다고 했는데, 그 아이템을 클릭하고 다른 프레그먼트를 replace 해주는 작업은 activity로 넘겨서 해줍니다. 리스너를 등록해서 처리하도록 하였습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • getActivity().getSupportFragmentManager().beginTransaction().replace()로 성공하셨다고 하셨죠. replace하시기 전에 addToBackStack("태그이름");을 호출하시고

    ex) getActivity().getSupportFragmentManager().beginTransaction().addToBackStack("").replace()...
    

    안드로이드 백키가 눌리면 불리는 onBackPressed를 액티비티에서 오버라이드 하신후에 아래와같이 popBackStack();을 호출하면 이전 fragment 가 불리게 됩니다.

        @Override
        public void onBackPressed() {
            fragmentManager.popBackStack();
        }
    

    참고사이트

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 아하 저런 키워드가 있었군요... 검색을 하려 했지만 뭐라고 해야할지 몰랐는데 감사합니다! 알 수 없는 사용자 2016.3.3 09:50

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)