当前位置: 首页 > 知识库问答 >
问题:

如何将数据从活动发送到片段?(Android)

弓磊
2023-03-14

我想在片段的活动中使用一些文本视图(cityField,updatedField)。我知道在活动中使用它们会更容易,但问题是,由于要获取一些JSON数据,我不得不在Fragment上加入一些代码

我已经得到了活动代码的ID

cityField = findViewById(R.id.textView4);
updatedField = findViewById(R.id.textView9);

现在我想在我的片段中使用它们 所以问题是 - 这可能吗?如果可能,如何?

我已经检查了这个网站上的一些答案 - 在Android中将数据从活动发送到片段 如何使用捆绑包将数据从活动传递到片段

但是他们直接没有解决我的问题。

共有3个答案

魏景龙
2023-03-14

如果片段还没有被创建,你可以使用片段的构造函数并传递参数给它。如果已经创建了片段,那么在片段中创建一个方法,并在活动中调用它。

南宫炜
2023-03-14

您可以从片段中访问这些实例,如下所示:

String cityFieldFragment = (activity as YourActivity).cityField;

String updatedFieldFragment=(活动为YourActivity).updatedField

如果我正确理解这一点,那么片段存在于您的活动中,因此您可以从中访问数据,只需确保实例是公共的。

车子平
2023-03-14

您应该创建一个SharedViewModel并让活动设置变量的值,如cityfieldupdatefield,而片段观察对它们所做的更改,基本上活动设置片段获取

有关ViewModels的更多信息,请查看:https://developer.android.com/topic/libraries/architecture/viewmodel

 类似资料:
  • 我需要将数据从片段发送到另一个活动 我在Homeactive下的LoadsFraank中使用此代码 在另一个活动(LoadActivity)中接收数据 但是意图没有附加条件 请看下面的截图

  • 次要活动(通过意图向主活动发送“endpoint”字符串): 主活动(从次要活动获取字符串): 在Fragment类上,我试图在TextView上显示数据: 如何修复它并将字符串从一个活动发送到另一个活动上的片段? 下面是XML:

  • 我有一个活动,它从其他活动中获取一些字符串: 这行得通。 从这个活动< code>ShowPoints中,我想将接收到的字符串< code>points发送到它的片段< code>PointsOnMap 为此,我创建了并执行以下操作: 但是,片段<code>PointsOnMap<code>的<code>字符串点 我想知道我做错了什么。我在这里阅读了其他一些帖子,似乎我正在以正确的方式做到这一点。

  • 我有一个包含EditText的片段,当我单击该EditText时,会出现一个DatePicker对话框来选择日期。 FragmentFile 对话框片段 问题是我不知道如何将数据(选定日期)从DialogFraank传递到片段? 我读了一些主题,但这并没有帮助我感到困惑(抱歉再次提出这个问题)。 主题1主题2

  • 我有一个关于片段的问题。场景是:我登录后,我在一个有3个片段的活动上。对于我使用ViewPager的片段。现在我必须在我的一个片段中使用登录用户名。我买了用户名从登录页面使用putExtra.我的问题是如何把用户名带到片段中??

  • 在我的应用程序中,我试图将数据从我的发送到一个名为的服务。这是我的以下代码: MainActivity.class: BGS服务。课程: 但我没有在服务类中获取数据。以下是我得到的错误: 02-25 09:05:41.166:E/AndroidRuntime(2633): JAVAlang.RuntimeException:无法启动活动 组件信息{com.microapple.googleplac