Android 初学者入门:Fragment 与 ListView 基础概念与使用方法

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 之间通信
  • 步骤:
    1. Fragment1 获取其关联的 Activity。
    2. 通过该 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)

  1. 组成关系

    • Fragment 是 Activity 的组成部分。
    • Fragment 可通过 getActivity() 获取所在 Activity。
    • Activity 可通过 FragmentManagerfindFragmentById()findFragmentByTag() 获取 Fragment 实例。
  2. 动态操作

    • 运行时可通过 FragmentManagerremove()replace()add() 方法动态管理 Fragment。
  3. 多对多支持

    • 一个 Activity 可包含多个 Fragment。
    • 一个 Fragment 可在多个 Activity 中重用。
  4. 生命周期依赖性

    • Fragment 不能独立存在,必须嵌入 Activity。
    • Fragment 的生命周期受其所在 Activity 的影响。

✅ 总结核心知识点

类别 关键点
Fragment 是 Activity 的子组件,用于构建可复用 UI 部分,适用于大屏适配。
生命周期 Fragment 生命周期依赖于 Activity,不可独立存在。
托管机制 必须由 Activity 或其他 Fragment 托管。
动态管理 使用 FragmentManager 进行 add/remove/replace 操作。
通信方式 通过 Activity 作为中介进行 Fragment 之间的通信。
ListView 使用 Adapter 绑定数据,自动适配列表长度,常见于商品、菜单等场景。
相关推荐
Jomurphys1 小时前
设计模式 - 责任链模式 Chain of Responsibility Pattern
android·设计模式·责任链模式
暗碳1 小时前
安卓usb摄像头/采集卡专用软件
android
李少兄1 小时前
在 Linux 中精准查找名为 `xxx` 的文件或目录路径
android·linux·adb
2501_916008891 小时前
App 上架服务行业的实际工作流程与工具选择 从人工代办到跨平台自动化的转变
android·运维·ios·小程序·uni-app·自动化·iphone
zhimingwen1 小时前
macOS 上安装与配置apksigner (读取APK签名的工具)
android·macos· sha-1
Jomurphys2 小时前
设计模式 - 享元模式 Flyweight Pattern
android·设计模式·享元模式
Jomurphys2 小时前
设计模式 - 组合模式 Composite Pattern
android·设计模式·组合模式
.豆鲨包2 小时前
【Android】深入理解Window和WindowManager
android·java
pandarking3 小时前
[CTF]攻防世界:ez_curl
android·web安全·网络安全