第一行代码第三版第3章有关onBackPressed() 已弃用的问题
·
段落截屏

onBackPressed() 方法在 Android 13 (API 33) 及更高版本中已被弃用,对于手势导航,系统不再调用 onBackPressed() 方法,建议使用 OnBackPressedDispatcher 来替代;相关链接
替代方案
修改 SecondActivity 中的 onBackPressed() 方法,使用OnBackPressedDispatcher:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.second_layout)
var stringExtra = intent.getStringExtra("data_1")
Toast.makeText(this, stringExtra, Toast.LENGTH_LONG).show()
binding = SecondLayoutBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.button.setOnClickListener {
val intent = Intent()
intent.putExtra("data_return", "Hello from SecondActivity")
setResult(RESULT_OK, intent)
finish()
}
onBackPressedDispatcher.addCallback(this) {
val intent = Intent()
intent.putExtra("data_return", "Hello from SecondActivity")
setResult(RESULT_OK, intent)
finish()
}
}
更多推荐


所有评论(0)