前言
今天看了鸿洋_的博客对fragment的一些介绍,使我深入理解了fragment,并学会了如何更好的使用fragment。总结的不好不要怪罪。
总结
1、首先要理解fragment与activity之间的生命周期关系;
2、理解FragmentTransaction的add、replace、remove、hide、show以及detach()和attach()方法;
3、使用DialogFragment创建对话框(他多次提到官方推荐);
4、由于activity重启,造成数据丢失,如何使用fragment进行大量数据保存;
5、FragmentPagerAdapter与FragmentStatePagerAdapter两种适配器的选择;
6、Fragment与Activity以及Fragment之前的数据传递;
7、抽象Fragment进行代码优化。
以下是我觉得重要的代码块:
.addToBackStack(null); //加入回退栈
/**抽象优化fragment**/
public abstract class SingleFragmentActivity extends FragmentActivity
{
protected abstract Fragment createFragment();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single_fragment);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment =fm.findFragmentById(R.id.id_fragment_container);
if(fragment == null )
{
fragment = createFragment() ;
fm.beginTransaction()
.add(R.id.id_fragment_container,fragment).commit();
}
}
}
//使用TargetFragment启用onActivityResult
Fragment.setTargetFragment(this, REQUEST_EVALUATE);
//...
getTargetFragment().onActivityResult(REQUEST_EVALUATE,
Activity.RESULT_OK, intent);
参考链接
[1]http://blog.csdn.net/lmj623565791/article/details/37970961
[2]http://blog.csdn.net/lmj623565791/article/details/42628537
网友评论