| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 学习笔记Android(二)Fragment -> 正文阅读 |
|
[移动开发]学习笔记Android(二)Fragment |
Fragment: Fragemnt的出现就是因为屏幕变大(例如平板出现 ? 2个不同活动界面手机需要2个activity显示但平板要显示在一个activity上),设计者想尽可能利用当前页面显示更多信息所以将一个activity界面又分为多个有生命周期回调函数的fragment。Fragment像是个小activity子activity,也有生命周期需要依附于activity存在所以其生命周期会受所依附的activity生命周期的影响。一个activity里可以有多个fragment,一个fragment也可以用于多个activity。 Fragment生命周期回调函数: create前先绑定,destroy后再解绑 onAttach(Activity) //当Fragment与Activity发生关联时调用。从该方法开始,就可以通过 Fragment.getActivity方法获取与Fragment关联的窗口对象了,但在该方法中仍然无法操作Fragment中的控 件。 onCreateView(LayoutInflater, ViewGroup, Bundle)//创建该Fragment的视图。 onActivityCreated(Bundle)//当Activity的onCreate方法返回时调用。 onDestoryView()//与onCreateView相对应,当该Fragment的视图被移除时调用。 onDetach()//与onAttach相对应,当Fragment与Activity关联被取消时调用 静态使用fragment: 直接新建fragment文件(继承fragment必须至少重写有oncreate和onCreateView),调整对应layout。然后在activity的layoutxml文件内添加fragment组件并在其android:name项指定哪个fragment即可。 动态使用fragment: 这个才是fragment的强大之处,先把mainactivity的layoutxml文件中的fragment引用去掉,只留下最外层linearlayout层,并对此layout添加id。然后可以在activity.java文件内直接对此layout动态添加或替换成Fragment. Mainactivity.java: @Override 报错Fragment1无法转换为Fragment:明明已经extends了,这种一般就是版本错误,方法内所需的fragment的版本和你继承的不同(看报错信息更改Fragment1所继承的版本即可)。 Fragment之间通信: Fragment和Fragment之间的 通讯的桥梁就是这个FragmentManager这个类,这个类是用来管理所有的这个Fragment的,所以可以 找到任何一个所需要的Fragment类。 实际操作来说的话应该是在一个fragment中使用getActivity获得当前运行的上下文环境再.findViewById获得同一个Activity下不同Fragment内的组件信息。 例如:在fragment2内使用: TextView textView = (TextView)getActivity().findViewById(R.id.f1textView);获取fragment1的textview。 ? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 12:33:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |