Fragment心得

作者: CrayfishXu | 来源:发表于2016-09-02 15:16 被阅读319次

    前言

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

    相关文章

      网友评论

        本文标题:Fragment心得

        本文链接:https://www.haomeiwen.com/subject/plahettx.html