[Android] 안드로이드(자바) Intent로 파라미터 넘기기
- 프로그래밍 언어/안드로이드(자바)
- 2019. 9. 5. 01:17
안드로이드는 맨처음 MainActivity에서 onCreate 메소드가 실행됨.
버튼을 클릭해서 액티비티를 전환하고자 한다면. 버튼에 클릭이벤트를 걸어야함.
그때 액티비티 이동하는 소스를 넣어준다.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
//인텐트 객체 생성
Intent intent = new Intent(getApplicationContext(), 다음액티비티.class);
//그사이에 파라미터 인텐트 객체에 담기.
String result = "1";
//intent.putExtra("매개변수명",데이터);
intent.putExtra("result",result);
//액티비티 변환
startActivity(intent);
}
});
}
받는 액티비티는
Intent intent = getIntent();
String selectedGu = intent.getStringExtra("result");
이렇게 받을 수 있습니다.
각각의 타입별로 Extra 메소드가 정의되어 있습니다.
Object 타입의 경우
public class RowVO implements Serializable {
//변수들..
}
다음과같이 클래스에 Serializable 인터페이스를 구현하고
RowVO vo = (RowVO)intent.getSerializableExtra("row");
getSerializableExtra() 메소드로 받을 수 있습니다. 타입이 Serializable 인터페이스 타입이므로 명시적 캐스팅을 해주어야 합니다.