Android Fragment的静态注册和动态注册创建步骤
Android Fragment 静态注册和动态注册创建步骤 Android Fragment 是 Android 开发中非常重要的一部分,它允许我们在一个 Activity 中展示多个界面单元,而静态注册和动态注册是 Fragment 创建的两种主要方式。本文将详细介绍 Android Fragment 的静态注册和动态注册创建步骤,帮助开发者更好地理解和应用 Fragment。 一、 Fragment 静态注册创建方法 静态注册是 Fragment 创建的一种方式,即在布局文件中直接定义 Fragment 的视图资源,然后在 Activity 中加载该布局文件。下面是静态注册的步骤: 1. 创建一个 StaticFragment.java 文件,继承 Fragment 类。 2. 创建一个 static_fragment.xml 文件,完成 Fragment 的布局。 3. 在 StaticFragment.java 中重载 onCreateView() 方法,通过调用 inflater.inflate() 方法并传入布局资源 ID 生成 Fragment 的视图资源。 4. 在 static_fragment.xml 中定义 Fragment 的视图资源,例如 Button、EditText 等。 5. 在 StaticFragment.java 中绑定 static_fragment.xml 中的相关组件,并实现其功能。 实现代码如下: ```java // static_fragment.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".StaticFragment" android:orientation="vertical"> <Button android:id="@+id/btn_fm" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="这是 Fragment 静态注册" android:textAllCaps="false" /> <EditText android:id="@+id/et_fm" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入你要改变的内容:" /> </LinearLayout> ``` ```java // StaticFragment.java package com.example.myapplication; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; public class StaticFragment extends Fragment { private Button mBtnFm; private EditText mEtFm; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { // Fragment 的视图资源是直接通过调用 inflater.inflate() 方法并传入布局资源 ID 生成的。 View v = inflater.inflate(R.layout.static_fragment, container, false); mEtFm = v.findViewById(R.id.et_fm); mBtnFm = v.findViewById(R.id.btn_fm); mBtnFm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 实现按钮点击事件 } }); return v; } } ``` 二、 Fragment 动态注册创建方法 动态注册是 Fragment 创建的一种方式,即在 Activity 中动态加载 Fragment。下面是动态注册的步骤: 1. 创建一个 DynamicFragment.java 文件,继承 Fragment 类。 2. 创建一个 dynamic_fragment.xml 文件,完成 Fragment 的布局。 3. 在 DynamicFragment.java 中重载 onCreateView() 方法,通过调用 inflater.inflate() 方法并传入布局资源 ID 生成 Fragment 的视图资源。 4. 在 dynamic_fragment.xml 中定义 Fragment 的视图资源,例如 Button、EditText 等。 5. 在 DynamicFragment.java 中绑定 dynamic_fragment.xml 中的相关组件,并实现其功能。 6. 在 Activity 中使用 FragmentManager 动态加载 Fragment。 实现代码如下: ```java // dynamic_fragment.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".DynamicFragment" android:orientation="vertical"> <Button android:id="@+id/btn_fm" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="这是 Fragment 动态注册" android:textAllCaps="false" /> <EditText android:id="@+id/et_fm" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入你要改变的内容:" /> </LinearLayout> ``` ```java // DynamicFragment.java package com.example.myapplication; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; public class DynamicFragment extends Fragment { private Button mBtnFm; private EditText mEtFm; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { // Fragment 的视图资源是直接通过调用 inflater.inflate() 方法并传入布局资源 ID 生成的。 View v = inflater.inflate(R.layout.dynamic_fragment, container, false); mEtFm = v.findViewById(R.id.et_fm); mBtnFm = v.findViewById(R.id.btn_fm); mBtnFm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 实现按钮点击事件 } }); return v; } } ``` Android Fragment 的静态注册和动态注册是两种不同的创建方式,每种方式都有其特点和用法,开发者需要根据实际情况选择合适的方式。
- 粉丝: 7
- 资源: 899
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助