Android学习——Fragment动态加载

 

动态加载原理


利用FragmentManager来添加一套Fragment事务,最后通过commit提交该事务来执行对Fragment的相关操作。

FragmentManager fragmentmanager = getFragmentManager();
FragmentTransaction beginTransaction = fragmentmanager.beginTranaction();

 

具体步骤


1.创建Fragment类

public class Fragment2 extends Fragment {
    private TextView tv;
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view=inflater.inflate(R.layout.fragment_1,container,false);
        tv= (TextView) view.findViewById(R.id.textview);
        tv.setText("动态加载");
        return view;
    }
}

2.在Activity中启用事务

mbutton2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Fragment2 fragment2=new Fragment2();
                android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager();
                android.support.v4.app.FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.frame,fragment2);
                fragmentTransaction.commit();
            }
        });

需要注意的是,由于Android Studio中Activity默认继承AppCompatActivity,所以在申请FragmentManager时,需要用getSupportFragmentManager()方法来获取。

 

3.利用addToBackStack实现回退功能

addToBackStack方法可以实现点击返回键时,回到上一个Fragment状态的效果。

posted @ 2017-01-13 22:49  JinxMiracle  阅读(203)  评论(0编辑  收藏  举报