每当我需要共享数据以使用或在片段中更新时,我总是将数据放在活动中并创建一个方法来获取/更新数据,然后通过这样的东西在片段中访问它
(activity as HomeActivity).updateData()
我觉得这不是这样做的好方法,有没有更好的方法可以做到这一点? 通过不同的片段访问相同的对象
我是新手,所以任何建议将不胜感激,谢谢
请尝试以下操作:
- 创建单一实例类
- 在单例类中创建空变量或值变量
- 如果需要,为这些变量创建 getter/setter
- 使用数据持有者类的单例对象访问其他类/活动中的变量
这是一个来自 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")