Fragment心得

前言

今天看了鸿洋_的博客对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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容