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 绑定数据,自动适配列表长度,常见于商品、菜单等场景。
相关推荐
ii_best20 分钟前
移动开发工具按键精灵安卓版 OcrEx 识别总是漏字错字?改这一个参数,精度直接翻倍
android·ai编程·按键精灵
chjif1 小时前
Android 设备管控开发实战:自定义 Launcher 如何只显示指定 App?
android·kotlin
Dovis(誓平步青云)1 小时前
模拟器横评:电脑上看小说、追短剧用什么模拟器?MuMu、雷电、腾讯手游助手实测
android·java·服务器·前端·javascript·电脑
非凡ghost2 小时前
用 Kotlin 和 Jetpack Compose 重写的安卓视频播放器,原生体验有多流畅?
android·java·kotlin·音视频·软件需求
峥嵘life2 小时前
Android16 系统 APEX 模块调试总结
android·大数据·开发语言
亘元有量-流量变现2 小时前
2026安卓ASO增量攻略:摆脱iOS思维依赖,吃透多商店自然免费流量
android·aso优化·亘元有量·方糖试玩
一航jason3 小时前
安卓车机端 AIOS 技术生态全景
android·人工智能·ai·ai编程·ai-native
深念Y3 小时前
ZTE B860AV1.1-T2 机顶盒改造记录:从 Android 到 Linux 服务器
android·linux·运维·服务器·boot·cma·机顶盒
淡淡的香烟4 小时前
Android中tcp的通信
android·物联网·tcp/ip