일단, 나는 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이름으로 받아 준다.
'Computer > Android' 카테고리의 다른 글
[Android Studio] EditText - Java로 수정 가능/불가능하게 만들기(editable) (0) | 2018.07.27 |
---|---|
[Android Studio] Admob 광고 달기 - 배너 광고, 전면 광고 (0) | 2018.07.27 |
[Android Studio] ListView 줄(line)없애기 (0) | 2018.07.27 |
[Android Studio] Intent, Bundle 그리고 Context 차이? (0) | 2018.07.27 |
[Android Studio] 차이점. 뭐가 달라? - invalidate(), invalidateViews(), notifyDataSetChanged() (0) | 2018.07.27 |