안녕하세요. 안드로이드를 이제 막 배우기 시작해서 미숙하다보니 진행이 잘 안되서 질문드립니다.
뷰바인딩 intent 활용해서 메인 액티비티에서 서브 액티비티로 화면 전환 및 값을 전달하려합니다.
하지만 서브 액티비티에서 id가 인식이 안될뿐더러 화면전환 및 값 전달이 안됩니다 ㅠㅠ
실행 시 버튼을 클릭하면 SubActivity로 넘어가지 않고 MainActivity만 새로고침되는 것처럼 됩니다.
TextView를 하단 코드와 같이 tvSubTest1, tvSubTest2 로 각각 id를 설정해놨으나 이는 인식이 안되고 메인 액티비티에 있는 뷰들의 id만 인식이 됩니다.
초보다 보니 인터넷에 예제를 찾아보고 해보는 편인데 예제와 똑같이 해도 전환이 안되서 질문드립니다..
<MainActivity.kt>
package com.test.test1107
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.daelim.test1107.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
val binding by lazy {
ActivityMainBinding.inflate(layoutInflater)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
val mainIntent = Intent(this, SubActivity::class.java)
mainIntent.putExtra("from1", "Hello Greedy")
mainIntent.putExtra("from2", 2022)
binding.btnMain.setOnClickListener {
startActivity(mainIntent)
}
}
}
<SubActivity.kt>
package com.test.test1107
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.daelim.test1107.databinding.ActivityMainBinding
class SubActivity : AppCompatActivity() {
val binding by lazy {
ActivityMainBinding.inflate(layoutInflater)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
binding.tvSubTest1.text = intent.getStringExtra("from1")
binding.tvSubTest2.text = "${intent.getStringExtra("from2", 0)}"
}
}