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 | 31 |
Tags
- GIT
- Eclipse
- R
- mybatis
- tomcat
- Python
- vaadin
- Sqoop
- SQL
- hadoop
- mapreduce
- JavaScript
- react
- SPC
- Kotlin
- es6
- table
- 공정능력
- Java
- 보조정렬
- Android
- SSL
- MSSQL
- xPlatform
- plugin
- NPM
- Express
- window
- Spring
- IntelliJ
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