从意图活动访问片段方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从意图活动访问片段方法相关的知识,希望对你有一定的参考价值。

我有一个片段,我从片段开始一个活动。现在我想从新活动中的片段调用一个方法。

我试图使用接口,但似乎我不能,因为我不在片段中创建一个新活动的对象,让它调用setListener()。我正在使用意图启动新活动。

我无法找到如何在新活动中获取片段实例或如何在片段中调用方法。任何帮助都会很棒!

答案

片段与活动紧密耦合。您始终需要创建活动作为片段的主机。

来自documentation

片段表示活动中的行为或用户界面的一部分。您可以在单个活动中组合多个片段以构建多窗格UI,并在多个活动中重用片段。您可以将片段视为活动的模块化部分,它具有自己的生命周期,接收自己的输入事件,并且可以在活动运行时添加或删除(有点像“子活动”,您可以在不同的活动中重用)。

因此,您需要在活动之间进行通信。活动不应与未托管的片段通信。但它应该与托管片段的Activity进行通信。

例如, 如果你有两个Activity是ActivityOne和ActivityTwo。 ActivityOne有一个名为ActivityOneFragment的片段。

当您需要从Activity To获取Activity Fragment时,您需要与ActivityOne通信然后告诉它获取Activity Fragment:

ActivityTwo - > ActivityOne - > ActivityOneFragment

你不应该这样做:

ActivityTwo - > ActivityOneFragment

另一答案

不,你不能这样做。因为后台活动暂停/死亡。所以你无法访问它的方法。

如果是通用方法,可以将该方法放在其他类中。称它为你的实用工具类。

以上是关于从意图活动访问片段方法的主要内容,如果未能解决你的问题,请参考以下文章

如何从活动意图到特定片段

如何从活动意图到特定片段?

使用意图从另一个片段调用一个片段

如何将活动中的意图传递给已打开的片段

如何从片段 KOTLIN 中调用意图 [重复]

使用意图共享后,片段未恢复其活动