본문 바로가기

Android

[안드로이드]인텐트로 액티비티간 이동 + 데이터전달

액티비티에서 다른 액티비티로 이동하려면 Intent를 써야한다.

액티비티1

int val = 10;
Intent intent = new Intent(getApplicationContext(),RouteActivity.class);
intent.putExtra("val", val);
startActivity(intent);
finish(); // 전꺼 Activity 종료

액티비티1 에서 RouteActivity로 이동하면서 val 변수값을 전달하는 소스


Intent i = getIntent();
int val = i.getIntExtra("val",0);

RouteActivity에서 받는 소스

전달하는 매개변수의 타입에 따라

i.getString

i.getInt 등이 있다.

위 소스에서 i.getIntExtra("val", 0); 은 val이름으로 넘긴 값을 val에 저장하고 디폴트값으로 0을 저장한다는 뜻


객체를 넘길때

보내는쪽

intent.putExtra("이름", 객체);

받는쪽

객체타입 val = (객체타입)i.getSerializableExtra("이름");

받는 객체의 타입으로 캐스팅해서 받는다.