【发布时间】:2021-11-28 14:00:53
【问题描述】:
我正在尝试将数据从 Java Activity 传递到 Kotlin Activity。 这可能吗?
kotlin 方面:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == newFriendActivityRequestCode && resultCode == Activity.RESULT_OK) {
data?.getStringExtra(manualActivity.EXTRA_REPLY)?.let {
val friendViewModel: FriendViewModel by viewModels {
FriendViewModelFactory((application as FriendsApplication).repository)
}
val friend = Friend(1, it)
friendViewModel.insert(friend)
}
}
Java端:
Intent resultIntent = new Intent();
resultIntent.putExtra("name", name);
setResult(RESULT_OK, resultIntent);
finish();
kotlin 参考代码: https://developer.android.com/codelabs/android-room-with-a-view-kotlin#14
【问题讨论】:
-
你从intent中获取数据,你没有使用你设置数据时使用的key
-
是的,你可以,这两个活动所用的语言无关紧要。
-
当然他们共享同一个编译器
标签: java android kotlin android-activity