通過ID找到Layout的 VIEW控件。,比如你的控件Button ID為"@+id/button01" 就可以通過這樣Button btn=(Button)findViewById(R.id.button01")找到控件。。這時這個btn就是代表這個按鈕。。你可以理解成JS的getElementById()。
Android中FindViewById()是一个非常常用的函数,位于android.app.Activity包中。该函数利用我们在XML文件中定义的View的id属性来获取相应的View对象。findViewById()属于API Level 1, 对应的android版本是android1.0,由此,可以看出,该函数是android早期版本中就有的。顺便说一下, android目前市场上已商用的版本及其对应的API Level如下:
android 1.0 API Level 1
android 1.1 API Level 2
android 1.5 API Level 3
android 1.6 API Level 4
android 2.0 API Level 5
android 2.0.1 API Level 6
android 2.1 API Level 7
android 2.2 API Level 8
1、参数错误:findViewById的参数是一个View的ID,如果在XML文件中没定义相应的ID,则程序会
善意的告诉你:XXX cannot be resulved。此时,补充定义就可以了。
2、未指定调用布局:findViewById()的调用与具体的布局有关,默认的是main.xml中的布局,函数前
没有布局指示。不过,当我们在main.xml描述的布局中,添加其它布局时,利用该函数获
取所添加布局中的View,则需在调用时,添加布局名,形式如下:
addLayout.findViewById(),如果不这么做,程序编译时有时不会报错,但运行时会
提示遇到异常,并强制关闭应用。
3、命名冲突:这个错误可能不是很常见,不过,要是没有遇到过,猛的来这么一下,还真让人 有点懵。
呵呵,本人就犯过这样的错误。解释下,这里的命名冲突是指当前工程中定义的类与
android在Framework中提供的名字相同,这样的话,当前工程文件中,会优先使用本工
程中的定义。当然,使用findViewById()函数时,发生这种错误必须满足以下几个条件:
一是:需要在当前工程中利用ID(xml中定义)来查找对应的View对象;
二是:查找的View类名恰好与本工程中已有的类定义相同
三是:同名的两个类实例化后产生的对象类型不同,如:一个是View,一个是Activity。
分享到:
相关推荐
一个简单的注解实现 findViewById 和 setOnClickListener 的例子
这是可以让你告别繁杂的findViewById的一个实例,通过注解的方式来实现。
用DOM4J 写的一个小工具类 避免麻烦的FindViewById的书写
Android注解省去findviewbyid,在Android开发的过程中有很多控件都要findviewbyid的,这样太麻烦了。
一个根据布局文件自动生成findViewById代码的android studio插件
Android开发中经常使用 findviewbyid来找控件, 这个工具类可以方便的生成代码,减少代码的书写。
简单的注解类,代替android中的findViewById().
支持链式操作 vq id R id TextView1 text "I find hello world" ; vq id R id button1 text "find it " clicked this "onClickMethod" ;...vq id R id imageView1 image android R ...
简单实现Android的findviewbyid IOC框架
自动生成FindViewById工具
需要导入jar包该工具类直接extends viewutils ,所有的findviewbyid都使用$来表示!
Android技术知识点:如何使用视图绑定来消除findViewById()
自定义注解,实现了findViewById 和 OnCLIckListener 注解不会去新建一个OnClickListener对象,所有view都指向一个listener, 然后通过反射调用方法去执行
自动生成findviewbyid插件演示demo
AndroidFindView FindViewById无需转换类型进口 将其添加到项目库的末尾的build.gradle中: repositories { // ... maven { url " https://jitpack.io " }} 步骤2.在表单中添加依赖项 dependencies { compile ' ...
快速生成findviewbyid的插件.zip,A plugin for android developer, with the plugin you can generate "findViewById" code quickly.
LinearLayout groupPollingAddress = (LinearLayout)findViewById(R.layout.fragment_field_list); 返回为null。 【解决过程】 1.参考: android – getActivity().findViewById(R.layout.contacts_list_view) ...
为了减少频繁的调用findViewById(R.id...),可以采用一些注入框架,可以简化自己的代码,让你更专注于实际的功能开发,butterknife就是这样的一个框架.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,...
主要介绍了AndroidGUI27中findViewById返回null的快速解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
从 Android Studio 3.6 开始,视图绑定能够通过生成绑定对象来替代 findViewById,从而可以帮您简化代码、移除 bug,并且从 findViewById 的模版代码中解脱出来,今天通过本文给大家介绍使用视图绑定替代 ...