강의링크 : https://youtu.be/txifUq2n8Ho
- 여러 액티비티(화면)끼리 상호작용하는 프로젝트 만들기
- MainActivity에서 입력한 이름을 sub에서 띄우기
1.
activity_main.xml에 Text>Plain Text 위젯 (사용자 입력창 위젯)과 버튼 하나를 추가함.
Plain Text 위젯의 id는 nameText,
button위젯의 id는 button으로 설정
2.
app/res/layout 에 sub라는 새로운 레이아웃을 추가하고,
textView위젯(id:textView2)을 하나 추가함.
3.
MainActivity 파일 코드를 다음과 같이 작성
MainActivity |
package com.example.han.tutorial6; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; 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.button);
nameButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String name = nameText.getText().toString(); // ** Intent 새로운 창을 열기 위해 필요한 객체 // 아까 우리가 만든 subActivity라는 클래스 자체를 실행 Intent intent = new Intent(getApplicationContext(), SubActivity.class); // 변수를 전달할 수 있도록, "name"이라는 문자열을 보낼 수 있도록 intent.putExtra("nameText", name); // 만든 intent를 실행 startActivity(intent); } }); } }
|
4.
MainActivity와 같은 폴더에 SubActivity 파일을 생성하고 다음과 같이 코드를 작성
SubActivity |
package com.example.han.tutorial6; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.widget.TextView;
/** * Created by HAN on 2018. 1. 8.. */
// 하나의 창이기 때문에 AppCompatActivity 라는 상위 클래스 상속 public class SubActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sub); TextView nameText = (TextView) findViewById(R.id.textView2); Intent intent = getIntent(); nameText.setText(intent.getStringExtra("nameText").toString()); } }
|
5.
app/menifests/AndroidMenifest.xml 파일에 다음과 같이 SubActivity에 대한 부분 추가
AndroidMenifest.xml |
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.han.tutorial6">
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SubActivity"> </activity> </application>
</manifest> |