액티비티 간 데이터를 주고 받을 때 Intent
를 많이 사용하는데, 방식은 아래와 같습니다.
SenderActivity.java
123Intent intent = new Intent(this, ReceiverActivity.class);intent.putExtra("string", string);startActivity(intent);cs
ReceiverActivity.java
12Intent intent = getIntent();String receivedString = intent.getExtras.getString("string")cs
보내는 액티비티에서는 변수 타입 구분 없이 putExtra
로 key, value값으로 보낼 수 있으나, 받는 액티비티에서는 해당 변수의 타입을 구분하여 받도록 되어 있습니다.
그렇다보니, 사용자가 직접 정의한 오브젝트를 인텐트로 넘기기 위해서는 약간 다른 방법이 필요합니다.
보내는 액티비티에서는 위와 같은 방식으로 하면 됩니다.
받는 액티비티에서는 아래와 같이 받습니다.
1ArrayList<Object> list = (ArrayList<Object>) intent.getSerializableExtra("key");cs 오브젝트가 Serializable를 implements해야 합니다.
12public class Object implements Serializable {}cs
이와 같은 방식으로 액티비티 간, 유저가 선언한 새로운 클래스타입의 변수를 주고받을 수 있습니다.
'Developer > Android, Java' 카테고리의 다른 글
[안드로이드] Retrofit에 Header 추가하여 요청하기 (279) | 2019.05.23 |
---|---|
[안드로이드] View 터치 시 터치 이벤트 구현하기 (266) | 2019.05.22 |
[안드로이드] ScrollView 안에 RecyclerView 을 넣을 수 있나요? (281) | 2019.05.22 |
[안드로이드] EndlessRecyclerViewScrollListener 사용 시 주의할 점 (resetState) (275) | 2019.05.21 |
[안드로이드] RecyclerView에서 항목 삭제하기 (리스트에서 삭제처리) (298) | 2019.05.21 |
댓글