Android inflate()引发NullPointerException

使用LayoutInflaterinflate()方法渲染View

View view = LayoutInflater.from(mContext).inflate(R.layout.layout_dialog, 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 ch.appblog.test.ui.activity.MainActivity$3.onCreate(MainActivity.java:86)
    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"
    />

原因:<view>标签的v是小写的,应该是<View>,资源文件编译未通过,不过viewView真的比较容易搞错,而且Android Studio也不会提示错误

所以编译进程卡在这里,布局资源控件未识别,inflate()引用了一个空的布局文件id

上一篇 Android TabLayout参数
下一篇 Fragment切换或回退时空白,RecyclerView提示 No adapter attached; skipping layout
目录
文章列表
1 Spring Boot集成XStream转换器:处理xml节点中既有属性又有值
Spring Boot集成XStream转换器:处理xml节点中既有属性又有值
2
React+Redux基本使用流程
React+Redux基本使用流程
3
Windows端5款MySQL客户端工具
Windows端5款MySQL客户端工具
4
解决PyCharm问题:module 'pip' has no attribute 'main'
解决PyCharm问题:module 'pip' has no attribute 'main'
5
常用开发工具整理
常用开发工具整理
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。