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 reference
    at 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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值