계발에서 개발까지
화면전환 코틀린 (Intent)
Intent를 활용하여 버튼 클릭 시 액티비티 전환하기.
activity_main.xml
간단하게 버튼 하나 만들어 줍니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:gravity="center"
android:background="#2196F3"
tools:context=".MainActivity">
<Button
android:id="@+id/mButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="화면전환"/>
</LinearLayout>
activity_sub.xml
버튼 클릭 시 전환될 레이아웃도 만들어 줍니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:gravity="center"
android:background="#2196F3"
tools:context=".MainActivity">
<Button
android:id="@+id/mButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="화면전환"/>
</LinearLayout>
MainActivity.java
코틀린은 자바와 다르게 따로id정의를 해줄 필요없이 바로 쓰시면 됩니다. 자바랑 비교시 다른점은 있지만 크게 차이가 없으므로 어려움을 느끼지 못할겁니다.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mButton.setOnClickListener({
val intent = Intent(this, SubActivity::class.java)
startActivity(intent)
})
}
}
SubActivity.java
서브액티비티도 정의 해줍니다.
class SubActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sub)
}
}
AndroidManifest.xml
마지막으로 매니페스트의 <application ~ </application> 사이에 <activity android:name=".SubActivity"/> 를 꼭 넣어줘야합니다.
<application
<activity android:name=".SubActivity"/>
</application>
매니패스트에 정의를 해주지 않을 경우 밑에 처럼 에러가 나올겁니다.
have you declared this activity in your AndroidManifest.xml? ← 패니패스트에 액티비티를 정의해라.
'Android Studio > Kotlin' 카테고리의 다른 글
안드로이드 스튜디오 구글 애드몹 배너광고 및 전면광고(코틀린) (0) | 2020.03.13 |
---|---|
Android Studio Kotlin SearchView, RecyclerView (0) | 2020.02.28 |