作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想调用startActivityforResult
在 Kotlin 的一行语句中。像这样的东西:
startActivityForResult(Intent(this@MainActivity2,MainActivity::class.java),1))
最佳答案
这是对 startActivityForResult 进行单行调用的一种简洁方法。在结果事件中,您必须创建一个伴随对象来设置启动意图。
事件
class MyActivity {
companion object {
const val CONTACT_REQUEST = 1
}
fun activityCall() {
startActivityForResult(MyActivity.getLaunchIntent(this), CONTACT_REQUEST)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
// Check which request we're responding to
if (requestCode == MyActivity.CARD_CONTACT_REQUEST) {
// Make sure the request was successful
if (resultCode == Activity.RESULT_OK) {
// The user picked a contact.
// The Intent's data Uri identifies which contact was selected.
// Do something with the contact here (bigger example below)
}
}
}
}
class MyResultActivity {
companion object {
fun getLaunchIntent(context: Context): Intent {
val intent = Intent(context, MyActivity::class.java)
return intent
}
}
}
关于kotlin - 如何在 Kotlin 的一行中声明 startActivityforResult()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50617598/
我是一名优秀的程序员,十分优秀!