如何将自定义对象传递到不同片段中的列表?

2024-03-26

所以我有我的MainActivity其中有一个BottomNavigationView,其中有 3 个不同的选项卡,当我单击它们时,它们会将我重定向到 3 个不同的片段。

In FragmentA我有一个RecyclerView对于项目,每个项目都有一个按钮。 当我单击所述按钮时,我想将该对象发送到FragmentB所以我可以将它添加到ArrayList<CustomObject>并更新RecyclerView in FragmentB显示该项目。

唯一的问题是我不知道如何在单击按钮时发送该对象。

adapter.setOnItemRemoveListener(new RemoveItemAdapter.OnItemRemoveListener() {
    @Override
    public void onItemRemove(int position) {
        //Do I send it from here?

    }
});

首先要实现的是可分包在你的 Model(Object) 类中,然后从你的 Fragment A 中调用这个 -

Fragment fragmentA = new FragmentGet();
Bundle bundle = new Bundle();
bundle.putParcelable("CustomObject", customObject);
fragmentA .setArguments(bundle);

另外,在片段 B 中,您还需要获取参数 -

Bundle bundle = getActivity().getArguments();
if (bundle != null) {
    model = bundle.getParcelable("CustomObject");
}

您的自定义对象类将如下所示 -

public class CustomObject implements Parcelable {

    private String name;
    private String description;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.name);
        dest.writeString(this.description);
    }

    public CustomObject() {
    }

    protected CustomObject(Parcel in) {
        this.name = in.readString();
        this.description = in.readString();
    }

    public static final Parcelable.Creator<CustomObject> CREATOR = new Parcelable.Creator<CustomObject>() {
        @Override
        public CustomObject createFromParcel(Parcel source) {
            return new CustomObject(source);
        }

        @Override
        public CustomObject[] newArray(int size) {
            return new CustomObject[size];
        }
    };
}

只需从回收器视图项单击侦听器中调用 Fragment B 并使用上述代码通过 Parcelable 传递自定义对象即可。

希望能帮助到你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将自定义对象传递到不同片段中的列表? 的相关文章

随机推荐

  • Azure 逻辑应用程序,解析 JSON,但可能为 null

    我想根据以下类解析 json public class DerModel public string Name get set public string Email get set public class DriverPositiveR
  • 通过单击行获取 HTML 表格单元格值

    如何获取 HTML 表格中的 TD 值 i e ID cell 1 cell 2 1 aaaa a2a2a2 2 bbbb b2b2b2 3 cccc c2c2c2 所以现在如果我单击单元格值 bbbb 我想获取所选行的所有值 id 2 c
  • SFINAE 模板专业化优先级

    include
  • 在 Bootstrap 3 模式中使用 jQuery DatePicker

    我想用jQuery UI 日期选择器在模态中 真正的问题是 如果我还想显示年份和月份 它会显示空选择 使用firebug 选项标签似乎位于模态下 这是我的 HTML div class modal dialog div class moda
  • iPhone UIActionSheet 自动旋转不起作用

    我读了很多相关内容 人们说 当其父级未设置为自动旋转时 它不会自动旋转 我尝试了一切但没有运气 我创建了基于视图的应用程序 v4 2 并带有一个执行此操作的按钮 UIActionSheet actionSheet UIActionSheet
  • 使用 BeautifulSoup 和 Requests 抓取多个分页链接

    Python 初学者在这里 我正在尝试从以下位置抓取所有产品dabs com 上的一个类别 http www dabs com category computing 11001 我已经设法抓取给定页面上的所有产品 但在迭代所有分页链接时遇到
  • 如何从 TreeExplainer 获取 shap_values 的特征名称?

    我正在做一个 shap 教程 并尝试获取数据集中每个人的 shap 值 from sklearn model selection import train test split import xgboost import shap impo
  • Hadoop 2.2.0 配置弃用

    我设置了 Hadoop 2 2 0 集群 现在运行我的 java 客户端来处理数据 运行我的 java 程序后 我注意到输出显示如下 13 11 18 11 44 44 INFO Configuration deprecation user
  • 理解“排序!”块

    现在我有一个数组 letter a b c a b c a b b 有人可以解释一下以下返回值吗 letter sort x letter count x gt b b a c c a b b a 当你定义一个sort or sort 阻止
  • 如何自定义 Flask admin QuerySelectMultipleField 选择?

    我在用flask admin允许管理员用户访问数据库 其中呈现一对多关系 编辑条目时 我希望下拉菜单仅显示满足条件的选项 我虽然query factory可以做到这一点 以下是我现在拥有的最小示例 class OneSideObj db M
  • 如何在L2E或EF中使用外键?

    我有一个User表有一个PrivilegeId外键指向aPrivilege表 并且是那里的主键 在Entity Framework中 VS不会生成PrivilegeId下的变量User为你 它将生成一个Privilege财产和Privile
  • 何时使用 numpy 与统计模块

    在使用一些统计分析工具时 我发现至少有 3 种 Python 方法可以计算平均值和标准差 不包括 自己动手 技术 np mean np std ddof 0 或 1 statistics mean statistics pstdev 和 或
  • 如何使 Visual Studio 立即窗口提供纯字符串输出?

    如果我在 Immediate 中评估生成长而复杂的字符串的内容 则调试器会对 C 字符串转义中的所有内容进行编码 因此我最终会得到一团乱麻 n t等等 然后我必须手动修复整个文本 这在以下情况下尤其令人烦恼 n 因为大多数文本编辑器无法进行
  • TinyXML:将文档保存为 char * 或字符串

    我尝试使用 TinyXML 从内存中读取和保存 而不是仅读取文件并将其保存到磁盘 看来文档的解析函数可以加载一个char 但是当我完成后 我需要将文档保存到 char 中 有人知道这件事吗 编辑 打印和流媒体功能不是我想要的 它们以可视格式
  • 如何检查传递的迭代器是否是随机访问迭代器?

    我有以下代码 它执行一些迭代器算术 template
  • Damas-Hindley-Milner 类型推理算法实现

    我正在寻找有关知名人士的信息Damas Hindley Milner 算法 https en wikipedia org wiki Hindley E2 80 93Milner type system为函数式语言进行类型推断 尤其是有关实现
  • npm 错误!错误:EPERM:不允许操作,取消链接

    操作系统 Windows 10 npm 版本 6 9 0 节点版本 12 4 0 我正在开发一个博览会应用程序 我想在我的 expo 应用程序上安装所有软件包 npm install 但是 发生了错误 17254 error Operati
  • Firestore 查询成本

    在Firestore上 我有一个社交应用程序 它将每个用户存储为文档 并根据一定距离内的用户进行查询 例如 如果用户启动了该应用程序 并且 50 英里内有 1 000 个用户 那么我是否需要为下载附近所有配置文件的 1000 次读取付费 如
  • 为什么此批处理脚本中的 FOR /f 循环评估空行?

    我正在尝试编写一个批处理脚本 该脚本获取 除其他外 计算机拥有的所有磁盘驱动器的列表 基本代码如下所示 REM Build the list of disk drives to monitor SETLOCAL enabledelayede
  • 如何将自定义对象传递到不同片段中的列表?

    所以我有我的MainActivity其中有一个BottomNavigationView 其中有 3 个不同的选项卡 当我单击它们时 它们会将我重定向到 3 个不同的片段 In FragmentA我有一个RecyclerView对于项目 每个