요새 안드로이드 코틀린 공부를 새로 시작하게 되었습니다.
그러다 다른 액티비티로 전환하는 방법이 무엇일까 궁금하여 공부한 내용을 정리하게 되었습니다.
간단한 예시로 보겠습니다.
제가 원하는 기능은 MainActivity에서 사용자에게 신장과 체중값을 EditText로 받아 ResultActivity로 넘기려는 기능입니다.
//ResultActivity로 넘기려는 값
val height: Int = heightEditText.text.toString().toInt()
val weight: Int = weightEditText.text.toString().toInt()
//ResultActivity로 넘기기 위한 intent생성
val intent = Intent(this,ResultActivity::class.java)
intent.putExtra("height", height)
intent.putExtra("weight", weight)
startActivity(intent)
MainActivity.kt
class ResultActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_result)
val height = intent.getIntExtra("height",0)
val weight = intent.getIntExtra("weight",0)
val heightResult = findViewById<TextView>(R.id.heightResult)
val weightResult = findViewById<TextView>(R.id.weightResult)
heightResult.text = height.toString()
weightResult.text = weight
}
}
ResultActivity.kt
<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=".ResultActivity"/>
</application>
AndroidManifest.xml
1. intent.getIntExtra를 통해 MainActivity에 있는 값을 받을 상태를 만들어 놓은다.
2. intent.putExtra를 통해 ResultActiviy에 값을 넘겨준다.
3. StartActivity사용
4. AndroidManifest.xml에 추가한 Activity인 ResultActivity를 추가한다.
끗!