• findViewById返回Null


    转自:http://blog.sina.com.cn/s/blog_5e58565701012q2d.html

    错误:findViewById返回Null,报nullpointer错误

    网上搜了下,拾人牙慧,总结原因,一般为3种:


    1.在另一个view的元素应该用baseView.findViewById()来拿

    findViewById()是要指定view的,如果在该view下找不到,自然报null。平时注意养成写view.findViewById()的习惯就不容易错了。

    2.findViewById在setContentView(R.layout.main);之前.

    即在setContentView调用之前,调用了findViewById去找main布局中的界面元素lv_contactbook,那么所得到的lv一定是null。正确的做法是将上面代码中加粗的哪一行,挪至setContentView方法调用之后即可。


    3.clean一下工程,让ID重新生成

    这种情况是调用LayoutInflater.inflate将布局xml规定的内容转化为相应的对象。比如有rowview.xml布局文件(比如在自定义Adapter的时候,用作ListView中的一行的内容的布局),假定在自定的Adapter的getView方法中有类似如下的代码:
    View rowview = (View)inflater.inflate(R.layout.rowview, parent, false);
    TextView tv_contact_id =(TextView)rowview.findViewById(R.id.tv_contact_id);
    TextView tv_contactname =(TextView)rowview.findViewById(R.id.tv_contactname);

    有时候居然也会发现rowview非空,但tv_contact_id和tv_contactname都是null!仔细看代码,怎么也看不出错误来。到底是什么原因造成的呢?答案是Eclipse造成的,要解决这个问题,需要这个项目clean一次(Project菜单 -> Clean子菜单),这样就OK了。

  • 相关阅读:
    css固定元素位置(fixed)
    【转】php 下载保存文件保存到本地的两种实现方法
    【转】关于URL编码/javascript/js url 编码/url的三个js编码函数
    IE6对png图片的处理
    用phpcms开发模块时中文乱码问题
    【转】MySQL数据类型和常用字段属性总结
    PHPCMS几个有用的全局函数
    PHPCMS系统常量
    PHPCMS系统使用的弹出窗口插件artDialog
    基础知识点(一)
  • 原文地址:https://www.cnblogs.com/x_wukong/p/4339788.html
Copyright © 2020-2023  润新知