inflate()引发NullPointerException
之前碰到一个特别辣眼睛的问题,爬了老久才从坑里爬出来,今天特此记录一下,长长记性。
footView = LayoutInflater.from(mContext).inflate(R.layout.list_account_footer, null);
dialogView = LayoutInflater.from(mContext).inflate(R.layout.dialog_add_account, null);
情况是以上的两行孪生代码,咋一看,没毛病吧,但是第一行通过了,第二行报错
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object referenceat android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719)at android.view.LayoutInflater.rInflate(LayoutInflater.java:810)at android.view.LayoutInflater.inflate(LayoutInflater.java:508)at android.view.LayoutInflater.inflate(LayoutInflater.java:418)at com.android.internal.app.AlertController.setupView(AlertController.java:482)at com.android.internal.app.AlertController.installContent(AlertController.java:239)at android.app.AlertDialog.onCreate(AlertDialog.java:356)at android.app.Dialog.dispatchOnCreate(Dialog.java:373)at android.app.Dialog.show(Dialog.java:274)at com.beok.joylife.app.html5.activity.ChangeAccountActivity$3.onClick(ChangeAccountActivity.java:96)at android.view.View.performClick(View.java:4811)at android.view.View$PerformClick.run(View.java:20136)at android.os.Handler.handleCallback(Handler.java:815)at android.os.Handler.dispatchMessage(Handler.java:104)at android.os.Looper.loop(Looper.java:194)at android.app.ActivityThread.main(ActivityThread.java:5549)at java.lang.reflect.Method.invoke(Native Method)at java.lang.reflect.Method.invoke(Method.java:372)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:964)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)
居然给我报了一个看似毫无关联的空指针异常让我好焦灼啊,为啥第一行就可以,到了老二就不行了呢?摸不着头脑太可怕了...
后来发现问题的所在简直...
<view style="@style/Line_View" android:layout_height="1dp"/>
以上是dialogView引用的布局文件R.layout.dialog_add_account.xml里的一个分割线,咋一看也是没毛病,但是,请注意,这里的view中的v是小写的...额...
所以编译进程卡在这里,布局资源文件果断未识别,inflate引用了一个空的布局文件id
好吧,居然是因为手残导致的资源文件编译未通过,不过view跟View真的比较容易搞错,而且AS也不过提示错误,所以还是自己强行记忆一下吧
作者:Silver_Lee
链接:https://www.jianshu.com/p/c417f623a2b0
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
inflate()引发NullPointerException相关推荐
- 自动配置jdk_JDK 15中自动自动发送更好的NullPointerException消息
自动配置jdk 我讨论了期待已久的和高度赞赏改进的NullPointerException ( NPE在帖)消息" 更好的默认NullPointerException异常消息即将到Java? ...
- Stream中toMap引发NullPointerException____Stream的执行流程
Stream中toMap引发NullPointerException 1.引发NullPointerException的代码如下: List<SelfSettlementCardInfoDto& ...
- android url inputstream,Android HttpUrlConnection getInputStream引发NullPoint...
我正在尝试从以下网址下载图像: 这是堆栈跟踪: 03-21 12:58:04.040: W/System.err(7084): java.lang.NullPointerException 03-21 ...
- 五分钟学Java:什么是 NullPointerException
在逛 Stack Overflow 的时候,发现最火的问题竟然是:什么是 NullPointerException(java.lang.NullPointerException),它是由什么原因导致的 ...
- java.lang.NullPointerException
java.lang.NullPointerException is one of the most popular exceptions in java programming. Anybody wo ...
- java.lang.NullPointerException出现的几种原因及解决方案
java.lang.NullPointerException是java编程中最常见的异常之一.任何使用java的人都有在java程序以及java web应用程序中看到java.lang.NullPoi ...
- JAVA面试相关基础知识
1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽 ...
- java foreach delete_Java CopyOnWriteArrayList forEach()用法及代码示例
CopyOnWriteArrayList的forEach()方法为Iterable的每个元素执行给定的操作,直到已处理完所有元素或该操作引发异常. 用法: public void forEach (C ...
- java懒汉_java中懒汉式的volatile的问题?
这个其实蛮有趣的. 以文中的这个例子来讲,为避免歧义,我用abc替换了原文中的123:public class Singleton { private static Singleton s; priv ...
最新文章
- 2020上半年收集到的优质AI文章 – AI+和+AI
- 在GridView中设置每个单元格的数据
- Delphi2010组件/控件安装方法
- Roguelike游戏的视野算法
- 江湖急诏令:腾讯数据库王者挑战赛赏金万两募英豪!
- tableau三轴该怎么做_如何用tableau绘制城市地铁线路图?
- ajax改变json指向,Ajax遍历jSon后对每一条数据进行相应的修改和删除(代码分享)
- ubuntu下创建定时任务的两种方式及常见问题解决方案
- hive concat_w实现将多行记录合并成一行
- js 操作ntko控件实现编辑文档内容
- 软件评测师32小时-第一小时 软件测试概论
- 思科模拟器连通服务器网页,思科模拟器主机访问服务器
- excel怎么合并同类项数据并求和(去除重复项)
- 温度对免疫代谢调节和癌症进展的影响
- python数据采集2-HTML解析
- c++ vector基本函数、排序、查找用法
- 滑动时固定在头部的一部分会变色(向下滑会变红)
- 调试助手与康耐视智能相机Insight以太网通讯
- 第一阶段项目(2 body)
- [C++实现 设计模式(14)] : 门面模式