Kotlin:是不是可以从 Activity-1 的 Fragment 移动到 Activity-2
Posted
技术标签:
【中文标题】Kotlin:是不是可以从 Activity-1 的 Fragment 移动到 Activity-2【英文标题】:Kotlin: Is it possible to move from Fragment of Activity-1 to Activity-2Kotlin:是否可以从 Activity-1 的 Fragment 移动到 Activity-2 【发布时间】:2021-11-12 23:17:22 【问题描述】:我是 android 开发的初学者。我在 Kotlin 中创建一个应用程序并遇到了一些问题。 我想显示另一个活动并将从中选择的数据获取到片段,但我找不到如何做到这一点......
语言:科特林 问题:是否可以如图A所示做?如果是,我是否可以就如何在 MainActivity 的 Fragment1 中显示 Activity2 并在单击 Activity2 的“选择”按钮时将项目获取到 Fragment1 获得一些建议?
-
想要显示来自 Fragment1(MainActivity) 的 Activity2
想从Activity2获取选中的item到Fragment1
Picture A
【问题讨论】:
也许你不应该有单独的活动,而应该有一个单一的活动。 Android 应用程序开发正朝着整个应用程序很少有活动的方向发展,也许只有一个活动。如果您在此处使用单个活动,则您的两个片段可以共享一个ViewModel
实例,并且“选择”片段可以在共享的 ViewModel
上调用一个函数来指示选择是什么。
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
【参考方案1】:
要启动另一个活动操作,如下所示:
带参数:
val intent = Intent(this, ExaplesActivity::class.java).apply
putExtra(MESSAGE, message)
startActivity(intent)
OR 不带参数:
val intent = Intent(this, NextActivity::class.java)
startActivity(intent)
【讨论】:
【参考方案2】:如果我正确理解了您的问题,您似乎可以使用startActivityForResult()
来实现您想要做的事情,但它很快就会被弃用。
所以我建议使用ActivityResultLauncher
。
您可以在此处阅读更多信息OnActivityResult method is deprecated, what is the alternative?
【讨论】:
【参考方案3】:使用此代码开始下一个活动
startActivity(Intent(requiredContext(), SecondActivity::class.java))
【讨论】:
以上是关于Kotlin:是不是可以从 Activity-1 的 Fragment 移动到 Activity-2的主要内容,如果未能解决你的问题,请参考以下文章