1. ListView 定义(1.1)
- 以列表形式显示内容。
- 根据数据长度自适应显示。
- 使用适配器(Adapter) 将数据绑定到 ListView 视图。
📌 示例:支付宝、淘宝等应用中常见的列表展示方式。
2. 组件调用(1.2)
(1)Activity 调用 Fragment
FragmentManager manager = getSupportFragmentManager(); // 管理类
manager.findFragmentById(R.id.leftfragment);
- 通过
findFragmentById()获取 Fragment 实例,然后调用其方法。
(2)Fragment 调用 Activity 中的方法
MainActivity activity = (MainActivity) getActivity();
// 或者 requireActivity()(内部有空指针检查)
(3)Fragment 之间通信
- 步骤:
- Fragment1 获取其关联的 Activity。
- 通过该 Activity 获取另一个 Fragment 的实例。
- 实现跨 Fragment 数据传递或功能调用。
3. Fragment 定义(2.1)
- Fragment 是 Activity 中用户界面的一个行为或一部分。
- 主要用于便于大屏 UI的设计和实现。
- 可以将 Activity 拆分为几个完全独立封装的可重用组件。
- 每个组件有自己的生命周期 和 UI 布局。
✅ 图示说明:
- 在平板上,Activity A 包含 Fragment A 和 Fragment B,选择一项会更新 Fragment B。
- 在手机上,Activity A 包含 Fragment A,选择一项会启动 Activity B,其中包含 Fragment B。
4. Fragment 特点(2.2)
01 类似 Activity
- 包含布局和对应的 Java 代码。
- 具有自己的生命周期。
- 可定义和管理自己的布局,处理输入事件。
02 不可独立存在
- 必须由 Activity 或另一个 Fragment 托管。
- Fragment 的视图层次结构会成为宿主的一部分。
03 可复用性
- 将应用细分为多个独立屏幕。
- 支持在多个 Activity 中重复使用同一个 Fragment。
04 生命周期依赖
- Fragment 不能脱离 Activity 单独存在。
- 当 Activity 销毁时,Fragment 一定销毁。
5. Fragment 四个特征(2.3)
-
组成关系:
- Fragment 是 Activity 的组成部分。
- Fragment 可通过
getActivity()获取所在 Activity。 - Activity 可通过
FragmentManager的findFragmentById()或findFragmentByTag()获取 Fragment 实例。
-
动态操作:
- 运行时可通过
FragmentManager的remove()、replace()、add()方法动态管理 Fragment。
- 运行时可通过
-
多对多支持:
- 一个 Activity 可包含多个 Fragment。
- 一个 Fragment 可在多个 Activity 中重用。
-
生命周期依赖性:
- Fragment 不能独立存在,必须嵌入 Activity。
- Fragment 的生命周期受其所在 Activity 的影响。
✅ 总结核心知识点
| 类别 | 关键点 |
|---|---|
| Fragment | 是 Activity 的子组件,用于构建可复用 UI 部分,适用于大屏适配。 |
| 生命周期 | Fragment 生命周期依赖于 Activity,不可独立存在。 |
| 托管机制 | 必须由 Activity 或其他 Fragment 托管。 |
| 动态管理 | 使用 FragmentManager 进行 add/remove/replace 操作。 |
| 通信方式 | 通过 Activity 作为中介进行 Fragment 之间的通信。 |
| ListView | 使用 Adapter 绑定数据,自动适配列表长度,常见于商品、菜单等场景。 |