概述
Android中Fragment的加载方式与数据通信详解
发布时间:2020-08-22 18:55:57
来源:脚本之家
阅读:155
作者:Joah
一、加载方式
1. 静态加载
1.1 加载步骤
(1) 创建fragment:创建自定义Fragment类继承自Fragment类,同时将自定义Fragment类与Fragment视图绑定(将layout转换成View)
View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
inflater用于绑定Fragment的布局文件,同时将该布局转换成View对象并返回;container为Fragment的UI所在的父容器。返回值为Fragment显示的UI,若不显示,则返回null。
inflate(int resource, ViewGroup root, boolean attachToRoot)
resource为Fragment需要加载的布局文件;root为加载Fragment的父ViewGroup,也就是onCreateView传递进来的container;attachToRoot为是否返回父ViewGroup。
(2) 使用fragment:在父视图中引入fragment,静态加载必须指定name属性以及一个唯一标识符,标识符可以为id或者tag
android:name
android:id
android:tag
(3)监听事件:若在父视图对应的类中设置监听事件,可以直接访问fragment中的子组件;若在Fragment的类中设置,则必须通过inflate()返回的View对象访问Fragment中的子组件(view.findViewById(id))。
1.2 简单范例
MyFragment视图:
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/fragment_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
MyFragment类:
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//将layout布局转换成View对象
View view = inflater.inflate(R.layout.myfragment, container, false);
//必须通过view对象对其子组件进行访问
TextView textView = (TextView) view.findViewById(R.id.fragment_text);
textView.setText("这里是fragment");
//返回Fragment显示UI
return view;
}
}
引用fragment的父视图:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
最后
以上就是激情犀牛为你收集整理的android fragment加载布局的方式,Android中Fragment的加载方式与数据通信详解的全部内容,希望文章能够帮你解决android fragment加载布局的方式,Android中Fragment的加载方式与数据通信详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复