[Android Studio] 두 Fragment 간의 화면 전환 그리고 데이터 넘기기

|

일단, 나는 1:1 대칭으로 아이템을 여러번 쓰기 싫어서 모든 item클래스에 다음 인터페이스를 상속한다.

public class XXXXItem implements Serializable{ // ... }

이렇게 하면 Intent(Acitivy에서)나 Bundle(Fragment에서)에서 putSerializeable()메소드를 사용해서 객체를 한 줄로 그냥 보내 버릴 수 있다.

// 줄 때 MessageItem item = ... ; // item를 만들어 데이터를 담는다. MessageItem은 직접 만든 데이터를 담는 클래스 MyFragment myFragment = new MyFragment(); // 화면이 전환 될 Frament, 전환 되면서 데이터를 보낼 거다. Bundle bundle = new Bundle(); // Activity의 Intent와 같은 녀석. 데이터를 들어날라 주는 역할. bundle.putSerializable("messageItem", item); // "messageItem"은 받을 때 사용될 string이름을 정한 것이다. myFragment.setArguments(bundle); // setArguments로 bundle을 세팅해준다. // 받을 때 Bundle bundle = getArguments(); // getArguments로 bundle 생성 bundle.getSerializable("messsageItem"); // 던져 줄 때 사용했던 string이름으로 받아 준다.


And