将对象从 Fragment 传递到 Activity

2024-01-11

问题:如何将对象从片段传递到活动(根据活动的请求)。

背景:我正在使用 Android Studio,并通过“新建 Android 活动”向导设置了一个新的选项卡式活动。然后我定义了 5 个片段,每个片段包含不同的输入集(编辑文本等)。 然后,每个输入表单都会填充一个自定义对象,以便可以将其传递到选项卡宿主活动。 然后,一旦按下任务栏上的“添加按钮”,我就会将对象保存在数据库中(这是应该从片段中获取对象的位置)。但是我找不到将对象从片段传递到活动的方法。 以前,我通过使用和调用“getObject()”方法在活动之间传递对象,这似乎不适用于片段。

我的片段当前没有“onAttach”方法,我不太确定它的作用。

预先感谢您的任何帮助。


你可以有一个界面:

public interface MyInterface {
    void doSomethingWithData(Object data);
}

然后在活动类中:

public class MyActivity extends Activity implements MyInterface {
    ...
    public void doSomethingWithData(Object data) {
        // save your data in database
    }
    ...
}

和片段:

public class MyFragment extends Fragment {
    ...
    private MyInterface listener;
    ...
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof MyInterface) {
            listener = (MyInterface) context;
        }
    }

    @Override
    public void onDetach() {
        listener = null;
        super.onDetach();
    }
    ...
    // Somewhere in code .. where you want to send data to the activity
    listener.doSomethingWithData(data);
    ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将对象从 Fragment 传递到 Activity 的相关文章

  • 如何在Android上获取当前播放曲目的路径[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想编写一个应用程序将当前播放的音乐流式传输到另一台设备 两个设备之间的连接确实有效 我还可以通过 wifi 传输一些字符串 但在获取
  • 配置项目 ':react-native-gesture-handler' 时出现问题

    大家好 我已经尝试了很长时间来解决这个问题 但不幸的是我还没有弄清楚如何解决 希望你们能帮助我 所以我有一个反应本机项目和我的朋友 以及我的一位朋友添加 React native gesture handler 包供我们使用 他对这个包没有
  • 需要对某些片段禁用 CollapsingToolbarLayout 的展开

    我有一个AppCompatActivity控制替换许多片段 这是我的布局 活动 main xml
  • 在 Android 中使用 awt

    我有一个绘制图表的 Java Swing 应用程序 它使用 Graphics2D 调用和 awt 对象 例如 Rectangle 等 在某些时候我可能想将其移植到 Android 上 我知道我无法在 Android 上使用 Graphics
  • 如何使用具有三种布局的视图翻转器?

    我目前正在使用ViewFlipper我的主要活动有两种不同的布局 我想使用第三种布局 但我只能找到showNext and showPrevious 命令 有人可以告诉我如何使用来实现第三种布局吗ViewFlipper 为您制作了一个示例
  • Android 中图像字节表示的每像素字节数

    我目前正在编写一个Android应用程序 需要在其中使用OCR 为了实现这一点 我将 Tesseract 与tesseract android tools 项目 http code google com p tesseract androi
  • 新安装的Eclipse和Android SDK。无法让模拟器工作。挂在时钟屏幕上

    我对开发是全新的 我已经安装了 Eclipse 和 Andoid SDK 但是 我无法让模拟器工作 我已经尝试过示例记事本代码和 Hello Android 教程代码 每次我尝试运行任一应用程序时 它都会挂在时钟屏幕上 屏幕上还显示正在充电
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • Android Studio APK META-INF/BCKEY.DSA 中复制的重复文件

    我的代码构建得很好 但是当我尝试在调试中运行它时 出现以下错误 Error Execution failed for task app transformResourcesWithMergeJavaResForDebug com andro
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • Android 5 Lollipop 阴影方向或 y 偏移

    是否有可能改变 Y 偏移的阴影方向 现在我有以下布局
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • Android:选择 EditField 上焦点上的所有文本

    我试图让 Android 在获得焦点时选择 EditText 字段中的所有文本 我在布局中使用此属性 在两个字段上 android selectAllOnFocus true 我不确定这是否相关 但为了将光标移动到第一个可编辑字段 前面 还
  • JavaScript 点击事件在 Android 4.0.4 默认浏览器上的 Samsung Galaxy SIII 上不起作用

    我在 Android 4 0 4 上使用 Samsung Galaxy SIII 的默认浏览器时遇到了最奇怪的问题 对于以下页面 单击链接将不会触发 JavaScript 处理程序 从其中一个 div 的内容中删除单个 a 字母使它们再次工
  • 片段中的 SavedInstanceState 始终为 null

    我使用 XML 以及活动中的 setContentView 将片段附加到活动 A 有一个问题 因为我的片段中有非常动态的视图 所以当方向改变时 我必须恢复所有的观点状态 我有问题 因为我正在使用类似的东西 public void onSav
  • Android:我的应用程序太大并给出“无法执行 dex:方法 ID 不在 [0, 0xffff]: 65536”?

    我正在尝试将我的应用程序与 Box Dropbox 和 Google Drive 集成 所有这 3 项服务都需要许多第 3 方 jar 此外 我的应用程序已经需要一些第三方 jar 现在 当我尝试从 Eclipse 运行我的应用程序时 出现
  • Android Webview隐私浏览

    我在我的 Android 应用程序中使用 webview 从多个站点获取一些网页 我对 webview 行为有一些疑问 webview 是否存储历史记录 cookie 表单自动填充信息 如果是的话 我们可以阻止它这样做吗 如果 Webvie
  • android.view.WindowLeaked - 使用对话框和新意图时

    我已经尝试了 stackoverflow 上提供的所有可能的解决方案 但我仍然在 logcat 中遇到此错误 活动 com xyz MainActivity 泄露了最初在此处添加的窗口 com android internal policy
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • 如何从另一个类调用静态方法?

    我正在尝试打电话静态方法从a h到b cpp 根据我的研究 它就像只放置一个 范围解析一样简单 但无论如何我尝试过 它都会抛出一个错误 C 需要所有声明的类型说明符 下面是我所拥有的 a cpp float method some calc
  • WordPress wp_query 按自定义字段分组

    我必须创建一个搜索表单 在其中必须按自定义帖子类型的状态填充选择 其中一些具有相同的状态 然后我想进行分组以获得一个干净的状态选择列表 我已经这样做了
  • 纯 C/C++ 中的二进制序列化

    我想自己实现二进制序列化 而不使用Boost或任何其他第三方库 在 C 中 实现它的最简单方法是使用ofstream然后通过网络发送二进制文件 但是是否有其他流类可以用作临时缓冲区以避免将文件写入磁盘 另外 我怎样才能用纯C实现这一点 坚持
  • 对打字稿文件语法错误进行玩笑测试:“接口是严格模式下的保留字”

    我的分行 https github com Futuratum moonholdings io tree JestTests https github com Futuratum moonholdings io tree JestTests
  • 如何将字符添加到R中的字符串[重复]

    这个问题在这里已经有答案了 我有这样的事情 text lt abcdefg 我想要这样的东西 abcde fg 在不为向量分配新字符串的情况下如何实现这一点text而是改变向量本身的元素 最后 我想随机插入点 实际上不是点 而是向量的字符元
  • 响应选择器的自定义可检查视图

    我有一群FrameLayout我希望可以检查 选择 也就是说 点击后我想要FrameLayout显示为checked 当再次按下时 我希望它变成 unchecked 更重要的是 我希望通过使用
  • 无法在 github 操作中创建(python)QApplication

    我为我的 python Qt gui 进行了一些单元测试 它需要 QApplication 实例 但是创建一个测试对我来说总是失败 即以核心转储和应用程序中止结束 QApplication 到目前为止我尝试过的是 creation meth
  • 使用子图放大时间序列或如何在轴边界之外绘制线条

    我想用 matplotlib 生成这样的图 目前我只是使用 matplotlib 绘制 3 个子图 并在 inkscape 中添加红线 我发现我可以用以下命令创建虚线矩形Rectangle http matplotlib org api a
  • 如何在 Chrome / Firefox 浏览器中查看 SQLite 数据库?

    我在用SQLite我的 Android 应用程序中的数据库 我想在我的 Chrome 或 Firefox 浏览器中查看数据库 要查看数据库 通常我打开Logcat在 android Studio 中并选择详细并写入http in serac
  • ODBC 驱动程序之间的差异

    我正在使用 Windows 10 64 位专业版在 SQL Server 2016 中为我的数据库设置系统 DSN 64 位 当我被要求选择驱动程序来设置数据源时 有以下选择 SQL Server 的 ODBC 驱动程序 13 SQL服务器
  • UITableViewRowAction 使用图像而不是标题

    我想做一个cell像邮件应用程序一样滑动操作 I set UIImage to backgroundColor的行动作 action backgroundColor UIColor colorWithPatternImage UIImage
  • 我的 Haskell 表达式何时被求值?

    如果我定义 gt data Bar Bar Int deriving Show gt data Foo Foo Bar deriving Show and gt let foo trace foo Foo trace bar Bar 100
  • 正则表达式如何在幕后工作(在 CPU 级别)?

    解释器和编译器是否以逐个字符和从左到右的方式比较 并最终匹配 两个字符串是否可能匹配 或者是否有一个底层二进制值 例如 位模式 分配给比较函数中的每个字符串 或者它是否取决于以某种方式 ASCII 或 UTF 32 编码的字符串 或者解释器
  • 如何使用张量流将先前时间步的输出与 RNN 中的其他输入一起用作输入?

    在下面的示例中 有三个时间序列 我想预测另一个时间序列y这是三者的函数 如何使用四个输入来预测时间序列 其中第四个输入是上一个时间步的输出 import tensorflow as tf import numpy as np import
  • 如何抓取受 cloudflare 保护的网站

    所以我正在努力刮https craft co tesla https craft co tesla 当我从浏览器访问时 它可以正确打开 但是 当我使用 scrapy 时 它会获取该网站 但是当我查看响应时 view response 它显示
  • 何时使用 Javascript 对象文字

    何时应该在 javascript 中使用对象文字 有时我会感到困惑 因为我试图将 oop 概念和模式应用到该语言中 我尝试不仅仅使用过程编程概念 因为我知道该语言具有惊人的功能 对象字面量最常用作 一种关联数组 和 一种将多个参数传递给函数
  • Angular2获取被点击的元素id

    我有这样的点击事件
  • Firebase 响应太慢

    大家好 我正在使用 Firebase 实时数据库为我的 React js Web 应用程序获取一些数据 有一个useState called Corr User应该存储正确用户名的值 我有一个function从 Firebase 获取用户名
  • 变量值列表的 Tensorflow 特征列

    从 TensorFlow 文档中可以清楚地了解如何使用tf feature column categorical column with vocabulary list创建一个特征列 它将一些字符串作为输入并输出一个单热向量 例如 voca
  • 将对象从 Fragment 传递到 Activity

    问题 如何将对象从片段传递到活动 根据活动的请求 背景 我正在使用 Android Studio 并通过 新建 Android 活动 向导设置了一个新的选项卡式活动 然后我定义了 5 个片段 每个片段包含不同的输入集 编辑文本等 然后 每个