Android Kotlin 액티비티 전환 - intent, putExtra
Notepad96
·2020. 12. 4. 14:15
300x250
1. 결 과
2. activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Layout 1"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="next"
android:text="Next Page"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text" />
</androidx.constraintlayout.widget.ConstraintLayout>
3. activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity2">
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Layout 2"
android:textAlignment="center"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
4. MainActiviy.kt
package com.example.myapplication
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
fun next(v: View) {
val send = Intent(this, MainActivity2::class.java).apply {
putExtra("msg", "Hi~")
}
send.putExtra("msg2", "Bye")
startActivity(send)
}
}
- next 함수를 생성하여 버튼 click 시 호출되도록 한다.
- Intent 선언 시 MainActivity2을 주어 이동할 곳을 지정하며 putExtra를 사용하여 값을 넘길 수 있다.
- startActivity 를 사용하여 지정한 Activity를 시작함으로써 액티비티가 전환된다.
5. MainActivity2.kt
package com.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView
class MainActivity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
val textView = findViewById<TextView>(R.id.text2)
textView.text = "${textView.text.toString()}\n${intent.getStringExtra("msg")}"
}
}
- MainActivity에서 putExtra로 보내었던 값을
intent.getStringExtra( key )
로 읽을 수 있다.
6. 참 조
300x250
'Android' 카테고리의 다른 글
Android Kotlin DB - DAO를 사용하여 데이터 접근 (3) (0) | 2020.12.07 |
---|---|
Android Kotlin DB - Table 정의 (2) (0) | 2020.12.06 |
Android Kotlin DB - Room을 사용하여 데이터베이스 사용 (1) (0) | 2020.12.06 |
Android Kotlin 뒤로가기 버튼 생성 - parentActivityName (0) | 2020.12.04 |
안드로이드(Android) 네 가지 구성요소(Components) (0) | 2020.12.02 |