当前位置: 首页 > 面试题库 >

将数据从Fragment发送到MainActivity

赵骏奇
2023-03-14
问题内容

我有一个TextView在我MainActivityButton它是一个Fragment连接到MainActivity。当我单击时,Button我想说“
单击TextView按钮”。

这可能吗?

我知道两个Fragments连接到同一对象的对象Activity可以轻松地相互通信并相互发送数据。但是对象可以Fragment将数据发送到对象中吗Activity

编写TextView自己的程序并将其Fragment附加到程序上是更好的编程Activity吗?然后,我可以简单地让两个片段相互发送数据。

抱歉,如果这不是StackOverflow的正确类型。我是新手Fragments,因此无法在此问题上找到清晰的解释。

提前致谢!


问题答案:

当前接受的答案(在“活动”中使用静态方法)既是奇数又是“错”。

静态方法的使用很奇怪,因为它不需要是静态的。

这是错误的,因为片段必须了解托管它的特定活动。这是“紧密耦合”,并且还使得该片段不可重复使用。

有两种常见的解决方案:

  1. 在该Activity中创建一个包含该片段可以调用的方法的接口。在Activity(使用片段的所有Activity)中实现该接口,然后在Fragment中,使用getActivity()获取Activity,并将其强制转换为接口。在这种模式下,通常还检查(使用’instanceof’)Activity是否实现了接口,如果没有实现,则抛出RuntimeException。
  2. 使用事件总线(例如Square的Otto,GreenRobot的EventBus)在Fragment和它的父Activity之间进行通信。我觉得这是最干净的解决方案,并且将Fragment从其Activity中完全提取出来。


 类似资料:
  • 问题内容: 我有这个小点击计数器。我想将每次单击都包含在mysql表中。有人可以帮忙吗? 万一有人想看看我做了什么: 这是phpfile.php,出于测试目的,将数据写入txt文件 问题答案: 您的问题中定义的JavaScript不能直接与MySql一起使用。这是因为它不在同一台计算机上运行。 JavaScript在客户端(在浏览器中)运行,并且数据库通常在服务器端存在。您可能需要使用中间服务器端

  • 问题内容: 如何将JSON数据从浏览器中的Javascript发送到服务器,并由PHP在其中进行解析? 问题答案: 我在这里获得了很多信息,所以我想发布我发现的解决方案。 问题: 从浏览器上的Javascript获取JSON数据到服务器,然后让PHP成功解析它。 环境: Windows上的浏览器(Firefox)中的Javascript。LAMP服务器作为远程服务器:Ubuntu上的PHP 5.3

  • 我正在尝试在我的网站上实现一个拖放文件上传器。文件被删除后立即上传,我想生成一个URL与flask将弹出在预览。我正在使用Dropzone.js。在dropzone的文档中,提供了一个示例,作为将数据从服务器发回并在文件上载后显示的指南。https://github.com/enyo/dropzone/wiki/faq#i-want-to-display-additution-informatio

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

  • 问题内容: 我的jphp.php文件包含以下内容: 并且我的javascript文件包含以下内容: 我已经用php编码了数据数据..现在我想将这两个数据数组发送到javascript …我不知道要使用的正确命令。我对谷歌搜索感到困惑。 请帮忙 。 问题答案: 使用jQuery的简单特定示例: JavaScript页面: 在您的php中:

  • 问题内容: 我是Rails和Web开发的新手。 我正在Matlab中生成一堆对象,我想将这些对象发送到我的Rails应用程序中的数据库中。谁能建议我该怎么做? 到目前为止,在Rails端,我已经为数据生成了基本的支架。我可以使用“ / myobjects / new”中的表单将对象添加到数据库中。 在Matlab端,我一直在尝试使用HTTP POST请求添加对象,如下所示: 这将失败,并将以下内容