본문 바로가기

개인공부

안드로이드 : 엑티비티 화면 전환

반응형

 

 

 

프로그램 이름은 Activity_transform으로 하겠습니다.

 

Empty Activity를 선택해줍니다.

 

레이아웃에서 Plain Text를 추가해줍니다.

ID는 nameText

text는 지워주고 hint에 이름을 넣어서 사용자가 사용하기 쉽게 바꾸어줍니다.

 

nameButton을 만들어줍니다.

text는 전송으로 바꾸어줍니다.

버튼을 눌럿을 때 다른 레이아웃으로 전환하는 버튼입니다.

 

 

activity_sub라고 만들어줍니다.

 

textView를 만들어주고 id를 아까와 마찬가지로 nameText라고 해줍니다.

 

새로운 activity class를 만들어줍니다.

 

activity의 이름은 SubActivity로 해줍니다.

 

 

 

다시 메인 엑티비티로 돌아와서 코드를 작성해줍니다.

package org.techtown.activity_transform;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

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

        final EditText nameText = (EditText) findViewById(R.id.nameText);
        Button nameButton = (Button) findViewById(R.id.nameButton);

        nameButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = nameText.getText().toString();
                Intent intent = new Intent(getApplicationContext(),SubActivity.class);
                intent.putExtra("nameText",name);
                startActivity(intent);
            }
        });
    }
}

 

 

 

프로그램 이름은 Activity_transform으로 하겠습니다.

 

Empty Activity를 선택해줍니다.

 

레이아웃에서 Plain Text를 추가해줍니다.

 

ID는 nameText

text는 지워주고 hint에 이름을 넣어서 사용자가 사용하기 쉽게 바꾸어줍니다.

 

nameButton을 만들어줍니다.

text는 전송으로 바꾸어줍니다.

버튼을 눌럿을 때 다른 레이아웃으로 전환하는 버튼입니다.

 

 

activity_sub라고 만들어줍니다.

 

textView를 만들어주고 id를 아까와 마찬가지로 nameText라고 해줍니다.

 

새로운 activity class를 만들어줍니다.

 

activity의 이름은 SubActivity로 해줍니다.

 

 

 

다시 메인 엑티비티로 돌아와서 코드를 작성해줍니다.

간단히 설명하면

 

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

 

메인 엑티비티를 보여줍니다.

  final EditText nameText = (EditText) findViewById(R.id.nameText);

이객체는 사용자가 입력한 값을 저장하는 객체

Button nameButton = (Button) findViewById(R.id.nameButton);

버튼의 상태를 저장할 객체

 nameButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = nameText.getText().toString();
                Intent intent = new Intent(getApplicationContext(),SubActivity.class);
                intent.putExtra("nameText",name);
                startActivity(intent);
            }

 

버튼을 클릭햇을때 nameText에 이름을 가저오고

intent(새로운창을 열기위한 객체)를 활용해 subActivity를 실행할수 있도록 해줍니다.

.putExtra를 이용해 nameText로 문자를 전달합니다(받을때 nameText로 받음)

startActivity를 통해 코드를 실행합니다.

 

 

sub activity로 이동해줍니다.

 

package org.techtown.activity_transform;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import android.os.Bundle;

public class SubActivity extends AppCompatActivity {
    @Override
    protected  void onCreate(Bundle bundle){
        super.onCreate(bundle);
        setContentView(R.layout.activity_sub);
        TextView nameText = (TextView) findViewById(R.id.nameText);
        Intent intent = getIntent();
        nameText.setText(intent.getStringExtra("nameText").toString());
    }
}

 

public class SubActivity extends AppCompatActivity {

 

상위클래스를 상속받습니다.

 

setContentView(R.layout.activity_sub);

Activity_sub에 해당하는 레이아웃을 작성해줍니다.

 TextView nameText = (TextView) findViewById(R.id.nameText);

 

nameText에는 아까 작성햇던 레이아웃의 nameText 뷰를 가져옵니다.

 Intent intent = getIntent();

인텐트로 아까 넘어온 값을 받을수 있도록 해줍니다.

 nameText.setText(intent.getStringExtra("nameText").toString());

 

인텐트에서 넘어온값중에서 nameText로 넘어온값을 toString으로 바꿔줍니다.

아까 nameText로 넘겨줘서 받을때도 nameText

 

 

 

 

마지막으로 환경설정을 해줍니다.

 

마지막으로 mainifests로 들어가서 다음을 추가해줍니다.

 

반응형