Android - 封装Fragment不依赖于Activity
2017-06-01 23:47
295 查看
封装Fragment不依赖于Activity
Fragment直接托管activity的intent会破坏Fragment的封装性。可以使用newInstance()的静态方法,完成fragment实例及bundle对象的创建,
然后将argument放入bundle中,最后再附加给fragment.
newInstance代码:
[java] view
plain copy
print?
public static CrimeFragment newInstance(UUID crimeId) {
Bundle args = new Bundle();
args.putSerializable(EXTRA_CRIME_ID, crimeId);
CrimeFragment fragment = new CrimeFragment();
fragment.setArguments(args);
return fragment;
}
Activity创建Fragment:
[java] view
plain copy
print?
protected Fragment createFragment() {
UUID crimeId = (UUID)getIntent().getSerializableExtra(CrimeFragment.EXTRA_CRIME_ID);
return CrimeFragment.newInstance(crimeId);
}
获取Argument数据:
[java] view
plain copy
print?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
UUID crimeId = (UUID)getArguments().getSerializable(EXTRA_CRIME_ID);
}
相关文章推荐
- Android - 封装Fragment不依赖于Activity
- Android - 封装Fragment不依赖于Activity
- Android FragmentActivity Intent 跳转封装
- Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)
- Android 6.0权限判断封装的基类 实用在activity和fragment中
- 【Android 进阶】Activity 、Fragment 和 Presenter 的高层封装
- Android探索之旅(第二十八篇)BaseActivity,BaseFragment封装必要点
- Android基础之Fragment与Activity交互详解
- android开发中fragment的引用以及fragment与activity之间通信的概述
- android开发中fragment的引用以及fragment与activity之间通信的概述
- Android:Activity和Fragment交互、Fragment控件UI升级相关内容
- Android Fragment---与Activity生命周期的协调
- Android开发:使用Fragment改造TabActivity
- Android中Activity中Fragment的应用
- android开发之activity运行时添加fragment
- Fragment、Activity比较——Android碎片介绍
- Android:Activity和Fragment生命周期实践
- 解决Android中Fragment调用startactivityforresult不能返回结果的问题
- Android菜鸟笔记-Service中弹出对话框,即全局性质Dialog不依赖于Activity
- Fragment对比Activity - Android碎片介绍