Intent로 화면 전환, 데이터 전달


다른 액티비티로 이동을 하거나, 데이터 전달을 하려고 경우에 Intent를 사용하면 됩니다.

 

1. 화면 이동

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getBaseContext(), NextActivity.class);
                startActivity(intent);
            }
        });

위는 버튼을 눌렀을 때 다른 Activity로 이동하는 액티비티입니다.

Intent 생성 후 new Intent 안에 첫 번째 인자(현재Activity의 content), 두 번째 인자(이동하려는 Activity.class)로 작성해주시면 됩니다.

그리고 startActivity에 intent를 담아 실행시켜주시면 해당버튼을 클릭했을 때 원하는 Activity로 이동할 수 있습니다.

 

2. 데이터 전달

- 데이터 전달

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(getBaseContext(), NextActivity.class);
                intent.putExtra("name", "chocolate");
                intent.putExtra("amount", 20);
                startActivity(intent);
            }
        });

화면 이동 코드에서 putExtra만 추가해주면 됩니다.

putExtra 첫 번째 인자에는 키값을 원하는 String값으로 설정해주고, 두 번째 인자에는 전달할 값을 적어줍니다.

 

- 데이터 수신

Intent intent = getIntent();
String name = intent.getExtra().getString("name");
String amount = intent.getExtra().getInt("amount");

전달된 데이터를 받을 때는 getIntent()로 받아옵니다.

String의 경우에는 intent.getExtra().getString("키값");

int의 경우에는 intent.getExtra().getInt("키값"); 으로 값을 받아와 변수에 담아주면 됩니다.


+ Recent posts