fragment 화면 교체하기


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

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

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

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

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

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


조회수 954


1 답변


좋아요
1
싫어요
채택취소하기

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

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

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

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

참고사이트

  • 2016년 03월 02일에 작성됨
    안드로이드, 루비온레일즈

  • 아하 저런 키워드가 있었군요... 검색을 하려 했지만 뭐라고 해야할지 몰랐는데 감사합니다!    TuTanKhamen   2016.3.3 09:50     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close