[Android] 안드로이드(자바) Intent로 파라미터 넘기기

안드로이드는 맨처음 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 인터페이스 타입이므로 명시적 캐스팅을 해주어야 합니다.

댓글

Designed by JB FACTORY