Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- NPM
- SQL
- GIT
- Eclipse
- es6
- SPC
- Python
- Spring
- 공정능력
- R
- mybatis
- IntelliJ
- tomcat
- react
- Sqoop
- mapreduce
- SSL
- window
- Express
- 보조정렬
- vaadin
- Java
- JavaScript
- MSSQL
- xPlatform
- table
- hadoop
- Kotlin
- plugin
- Android
Archives
- Today
- Total
DBILITY
안드로이드 activity 간 데이터 보내고 받기 본문
반응형
build.gradle.kts에서 viewBinding을 다음과 같이 활성화
buildFeatures {
viewBinding = true
}
onActivityResult는 Deprecated되었다.registerForActivityResult를 사용해야 하는데 Activity 실행(?)에는 ActivityResultContracts.StartActivityForResult()를 사용한다.물론 callback은 lambda로
class MainActivity : AppCompatActivity() {
private val binding by lazy {
ActivityMainBinding.inflate(layoutInflater)
}
private val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS",Locale.getDefault())
private val resultLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult(),) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val param = result.data?.getStringExtra("param")?:"None"
Log.d("StartActivityForResult",param)
binding.activityMainTextView.text = param
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
binding.run {
activityMainButton.setOnClickListener {
val intent = Intent(this@MainActivity,SubActivity::class.java).apply {
putExtra("param","호출자가 넘겨준 시간 : ${formatter.format(System.currentTimeMillis())}")
}
resultLauncher.launch(intent)
}
}
}
}
class SubActivity : AppCompatActivity() {
private val binding by lazy {
ActivitySubBinding.inflate(layoutInflater)
}
private val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS",Locale.getDefault())
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
binding.run {
activitySubTextView.text = intent.getStringExtra("param")
activitySubButton.setOnClickListener {
intent.putExtra("param", "피호출자가 넘겨준 시간 : ${formatter.format(System.currentTimeMillis())}")
setResult(Activity.RESULT_OK, intent)
finish()
}
}
}
}
반응형
'android > kotlin' 카테고리의 다른 글
안드로이드 seekbar 사용법 (0) | 2024.02.28 |
---|---|
안드로이드 checkbox,toggle,switch 간단 사용법 (0) | 2024.02.28 |
안드로이드 radio 사용법 (0) | 2024.02.22 |
안드로이드 layout 하위 view 순회하기 (0) | 2024.02.21 |
firebase block request... (0) | 2024.01.26 |
Comments