通過ID找到Layout的 VIEW控件。,比如你的控件Button ID為"@+id/button01"   就可以通過這樣Button btn=(Button)findViewById(R.id.button01")找到控件。這時這個btn就是代表這個按鈕。

Android中FindViewById()是一个非常常用的函数,位于android.app.Activity包中。该函数利用我们在XML文件中定义的View的id属性来获取相应的View对象。findViewById()属于API Level 1, 对应的android版本是android1.0,由此,可以看出,该函数是android早期版本中就有的。顺便说一下, android目前市场上已商用的版本及其对应的API Level如下:

android 1.5             API Level 3

android 1.6             API Level 4

android 2.0             API Level 5

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。

android报错——findViewById报错的更多相关文章

  1. android studio :com.android.support:appcompat-v7:21.+ 报错

    android studio :com.android.support:appcompat-v7:21.+ 报错: 在project——>app——>build.gradle修改: app ...

  2. android studio java工程 报错

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com  android studio java工程 ...

  3. Android导入依赖appcompat-v7报错

    Android导入依赖appcompat-v7报错   导入appcompat-v7时报错了 导入的是implementation 'com.android.support:appcompat-v7: ...

  4. Xamarin Android真机测试报错

    Xamarin Android真机测试报错   Xamarin Android真机测试报错,错误信息为INSTALL_CANCELLED_BY_USER.出现这个错误,通常都是真机上开发者选项设置错误 ...

  5. Android Studio support 26.0.0-alpha1 Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法

    AS下如何生成自定义的.jks签名文件, 以及如何生成数字签名 链接:http://www.cnblogs.com/smyhvae/p/4456420.html 链接:http://blog.csdn ...

  6. android studio 9.png 报错

    Eclipse里能正常运行,但是导入到Android Studio里就报如下的错误 百度了下,说有两种解决办法一种是改后缀名,还有一种是重新在Android Studio里画一下点9图片.但是这个项目 ...

  7. 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi

    问题描述 Android Studio升级到2.3版本之后,小米手机MIUI8不能运行Android Studio程序,报如下错误: Installation failed with message  ...

  8. Android 解决小米手机Android Studio安装app 报错的问题It is possible that this issue is resolved by uninstalling an existi

    Android Studio升级到2.3版本之后,小米手机MIUI8不能运行Android Studio程序,报如下错误: Installation failed with message Faile ...

  9. Navicat 用ssh通道连接时总是报错 (报错信息:SSH:expected key exchange group packet form serve

    转:https://blog.csdn.net/qq_27463323/article/details/76830731 之前下了一个Navicat 11.0 版本 用ssh通道连接时总是报错 (报错 ...

随机推荐

  1. pop动画大全 只能时代程序员更应该关心效果而不是冷冰冰的代码

    下载地址 https://pan.baidu.com/s/1o8pQWau

  2. 哥德巴赫猜想证明(C语言实现50以内的正偶数证明)

    <一>哥德巴赫猜想内容: 一个充分大的偶数(大于或等于6)可以分解为两个素数之和. <二>实现要点: 要点: 判断素数(质数):除了1和本身没有其他约数. 最小的质数:2 判断 ...

  3. 【原创】Android开发之ADB及ADB SHELl命令的应用

    adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.adb的工作方式比 ...

  4. MySQL数据库原理

    我们知道,数据是信息的载体——一种我们约定了如何解释的符号.在计算机系统中,最常见的应该是文本数据.我们用它记录配置信息,写日志,等等.而在应用程序中,按一定的数据结构来组织数据的方式叫做数据库管理系 ...

  5. jQuery选择器(适合初学者哟....)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写 ...

  6. JavaScript语言用10张图

    JavaScript 语言基础知识点总结,用图片树形结构说明.包括Windows对象.JavaScriptDOM基本操作.JavaScript变量.JavaScript数据类型.JavaScript运 ...

  7. vs2013 IHttpActionResult NotFund Ok (WebAPI)

    vs2013  IHttpActionResult NotFund Ok   使用ASP.NET Web API构造基于restful风格web services,IHttpActionResult是 ...

  8. 转 Web APi之认证(Authentication)两种实现方式【二】(十三)

    前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再废叙述废话. 序言 对于所谓的认证说到 ...

  9. 二师兄VPN加速器

    http://www.2-vpn2.org/home.action?ic=B003CC4C47

  10. 【转】WPF中Binding的技巧(一)

    WPF中Binding的技巧(一)   在WPF应用的开发过程中Binding是一个非常重要的部分. 在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的. 这里将实际中碰到 ...