如何在片段安卓 kotlin 之间共享数据/对象



每当我需要共享数据以使用或在片段中更新时,我总是将数据放在活动中并创建一个方法来获取/更新数据,然后通过这样的东西在片段中访问它

(activity as HomeActivity).updateData()

我觉得这不是这样做的好方法,有没有更好的方法可以做到这一点? 通过不同的片段访问相同的对象

我是新手,所以任何建议将不胜感激,谢谢

请尝试以下操作:

  1. 创建单一实例类
  2. 在单例类中创建空变量或值变量
  3. 如果需要,为这些变量创建 getter/setter
  4. 使用数据持有者类的单例对象访问其他类/活动中的变量

这是一个来自 MVP/MVC 架构的系统,是一个很好的实践

每当从活动或从任何地方替换片段时,都可以通过将数据设置为参数来将数据传递到片段。

Testfragment = new TestFragment();
Bundle bundle = new Bundle();
bundle.putSerializable("key",<data to pass>);
fragment.setArguments(bundle);
replaceFragment(fragment);

使用 访问片段中的相同数据

Object obj = getArguments().getSerializable("key")

最新更新