如何在Fragment中使用findViewById呢?

简介:

如果你为Fragment在XML文件中创建了什么控件,但findViewById方法却只能被用在Activity类中,所以,有没有办法在Fragment中使用它呢?

当然可以,使用getView()方法就OK了,因为这个方法最终会返回当前fragment的根视图。

Button btn = (Button) getView().findViewById(R.id.btn);

但是你应该知道要在此之前使用onCreateView来创建视图吧。

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment, null);
    }

而如果你用inflate方法自己实例化一个view,比如这样:

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment, container, false);
    }

那么就不是再继续使用getView()了,取而代之的是:

Button btn = (Button) view.findViewById(R.id.btn);

这里的view就是之前实例化的View对象了。

目录
相关文章
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
975 0
|
7月前
|
数据采集 分布式计算 DataWorks
ODPS在某公共数据项目上的实践
本项目基于公共数据定义及ODPS与DataWorks技术,构建一体化智能化数据平台,涵盖数据目录、归集、治理、共享与开放六大目标。通过十大子系统实现全流程管理,强化数据安全与流通,提升业务效率与决策能力,助力数字化改革。
257 4
|
11月前
|
5G 网络架构 UED
网速只拼Mbps?解码网速真相的五大关键因素
Mbps(兆比特每秒)是衡量数据传输速度的单位,表示每秒传输的百万比特数。它是评估网络性能的核心指标,广泛应用于家用宽带、移动网络和企业级网络中。Mbps 数值越高,理论上数据传输越快,但实际体验还受网络拥塞、丢包率和信号强度等因素影响。例如,在网络高峰时段或信号较弱的地方,即使Mbps数值高,也可能出现卡顿。5G和光纤技术显著提升了Mbps速率,但仍需考虑硬件设备如路由器和网卡的性能瓶颈。理解Mbps及其影响因素,有助于用户选择合适的网络服务并优化网络体验。
1203 1
|
数据库 Android开发 数据库管理
java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常
java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常
979 0
|
11月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
280 0
|
XML JSON Java
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
Android App网络通信中通过okhttp调用HTTP接口讲解及实战(包括GET、表单格式POST、JSON格式POST 附源码)
2217 0
|
前端开发 JavaScript 开发工具
2024年前端开发十大必备技巧
本文介绍了2024年前端开发的十大必备技巧,涵盖现代JavaScript、CSS Grid/Flexbox布局、主流框架(如React、Vue)、Web性能优化、Git版本控制、调试技巧、Web可访问性、现代构建工具(如Webpack)、PWA及持续学习等方面,帮助开发者保持竞争力并提升Web开发质量。
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
3137 54
|
API 开发工具 开发者
如何接入公安实名认证接口
对于很多开发者来说,如何接入公安实名认证接口是一项非常重要的任务。在不同的应用场景下,都需要用户进行身份认证,而公安实名认证接口可以有效地帮助开发者完成这一任务。
|
XML Java API
54. 【Android教程】图片资源:Drawable
54. 【Android教程】图片资源:Drawable
422 0