Android

[Android] Intent(인텐트)로 값 전달하기

poppy 2020. 9. 13. 16:15
반응형

MainActivity.java

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button)findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(MainActivity.this, SecondActivity.class); //인텐트객체 선언
                i.putExtra("key","값 전달 완료"); //값 전달
                startActivity(i); //액티비티 전환
                finish(); //액티비티 종료
            }
        });

    }
}

첫번째 화면의 코드입니다. 버튼1을 누르면 인텐트를 통해 SecondActivity로 화면이 전환되도록 하였습니다. 인텐트를 통해 키를 key로 주고, 값은 "값 전달 완료" 로 주어 값을 전달했습니다.

 

SecodActivity.java

public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        Button btn_result = (Button)findViewById(R.id.btn_result);
        final TextView tv = (TextView)findViewById(R.id.textView);

        btn_result.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent j = getIntent(); //인텐트객체 선언
                String result = j.getStringExtra("key"); //값 가져오기
                tv.setText(result); //텍스트뷰에 값 넣기
            }
        });

    }
}

두번째 화면의 코드입니다. "값 확인" 버튼이 눌렸을 때 값이 텍스트뷰에 보여지도록 하기 위해서 버튼이 클릭되었을 때 텍스트가 보여지도록 하였습니다. "값 확인" 버튼이 눌려지면 인텐트를 통해 값을 가져오고 setText()로 그 값이 나타나도록 하였습니다.

 

다음은 실행화면입니다!

 

 

반응형