【问题标题】: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 获得一些建议?

  1. 想要显示来自 Fragment1(MainActivity) 的 Activity2
  2. 想从Activity2获取选中的item到Fragment1

Picture A

【问题讨论】:

  • 也许你不应该有单独的活动,而应该有一个单一的活动。 Android 应用程序开发正朝着整个应用程序很少有活动的方向发展,也许只有一个活动。如果您在此处使用单个活动,则您的两个片段可以共享一个 ViewModel 实例,并且“选择”片段可以在共享的 ViewModel 上调用一个函数来指示选择是什么。
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: android kotlin android-fragments fragment android-fragmentactivity


【解决方案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))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-26
        相关资源
        最近更新 更多