android第一行代码学习笔记——fragment

1.fragment是一种可以嵌入在活动中当中的UI片段,可以合理地利用大屏幕的空间,类似于一个迷你的活动。
2.碎片的命名规范:模块名+Fragment
碎片的layout文件命名规则:fragment_功能名
3.直接添加添加碎片,可以在布局中当基本控件添加使用,在layout文件夹new一个资源文件,跟普通layout一样。接着新建一个XxxFragment类继承自Fragment类。建议使用supoort-v4库的。重写onCreatView()方法

public View  onCreatView(LayoutInflate inflate, 
		ViewGroup container, Bundle savedIntanceState) {
	View view = inflater.inflate(R.layout.碎片名, 
		container, false);
	return view;
}

4.动态添加碎片,让活动实现View.OnClickListener接口,重写replaceFragment()方法

private void replaceFragment(Fragment fragment) {
	FragmentManager fragmentManager = getSupportFragmentManager();
	FragmentTransaction transaction = fragmentManager.beginTransaction();
	transaction.replace(R.id."id", fragment);
	transaction.commit();
}

5.在碎片中模拟返回栈:在transaction.commit();语句前添加transaction.addToBackStacj(null);语句
6.碎片和活动之间进行通信:调用FragmentManager的findFragmentById()方法在活动中获取碎片的实例,就可以调用碎片里的方法了。
在碎片中通过调用getActivity()方法得到要和当前碎片相关联的活动实例,然后就可以调用活动中的方法了。当碎片中需要使用Context对象时,也可以使用getActivity()方法。

//获取碎片的实例
XxxFragment xxxFragment = (XxxFragment) getSupportFragmentManager()
.findFragmentById(R.id.xxx_fragment);

//获取与碎片相关联活动的实例
XxxActivity activity = (XxxActivity) getActivity();

7.碎片的生命周期:

8. Fragment常用的三个类:

  • android.app.Fragment 主要用于定义Fragment
  • android.app.FragmentManager 主要用于在Activity中操作Fragment
  • android.app.FragmentTransaction 保证一些列Fragment操作的原子性

猜你喜欢

转载自blog.csdn.net/yjh728/article/details/82261815