猿问

在膨胀布局时尝试NPE(尝试在空对象引用上调用虚方法'boolean java.lang

在膨胀布局时尝试NPE(尝试在空对象引用上调用虚方法'boolean java.lang.String.equals(java.lang.Object)'

java.lang.NullPointerException当我尝试ScrollView在活动中使用时,我会不断获得。

奇怪的是,我Scrollview在其他活动中使用了完全相同的设置。突然之间,我遇到了错误。我试过清理项目并重建。

而且我已经尝试了这个好老的重启程序。我今天学到了很多关于Null Pointer Exceptions的知识,但是我还没弄清楚为什么我一直在学习渲染问题

所以,这些都不是我写的代码。所以我潜入堆栈跟踪并发现:

  java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
        at android.app.ActivityThread.access$800(ActivityThread.java:151)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254)
        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:903)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
        Caused by: 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:715)
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:414)

有什么建议?非常感谢你!


慕莱坞森
浏览 742回答 2
2回答

MMMHUHU

更改<view到<View,因为view是不是空的观点。这是通过classattr&nbsp;定义的自定义视图,如下所示:<view &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;class="com.your.package.YourCustomView"&nbsp;/>而你得到了Caused&nbsp;by:&nbsp;java.lang.NullPointerException:&nbsp;Attempt&nbsp;to&nbsp;invoke&nbsp;virtual&nbsp;method&nbsp;'boolean&nbsp;java.lang.String.equals(java.lang.Object)'&nbsp;on&nbsp;a&nbsp;null&nbsp;object&nbsp;reference因为LayoutInflater试图解析classattr:LayoutInflater&nbsp;源代码//...View&nbsp;createViewFromTag(View&nbsp;parent,&nbsp;String&nbsp;name,&nbsp;Context&nbsp;context,&nbsp;AttributeSet&nbsp;attrs, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;ignoreThemeAttr)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(name.equals("view"))&nbsp;{&nbsp;//&nbsp;line&nbsp;724 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name&nbsp;=&nbsp;attrs.getAttributeValue(null,&nbsp;"class");&nbsp;//&nbsp;line&nbsp;725 &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Apply&nbsp;a&nbsp;theme&nbsp;wrapper,&nbsp;if&nbsp;allowed&nbsp;and&nbsp;one&nbsp;is&nbsp;specified. &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!ignoreThemeAttr)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;final&nbsp;TypedArray&nbsp;ta&nbsp;=&nbsp;context.obtainStyledAttributes(attrs,&nbsp;ATTRS_THEME); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;final&nbsp;int&nbsp;themeResId&nbsp;=&nbsp;ta.getResourceId(0,&nbsp;0); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(themeResId&nbsp;!=&nbsp;0)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;=&nbsp;new&nbsp;ContextThemeWrapper(context,&nbsp;themeResId); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ta.recycle(); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(name.equals(TAG_1995))&nbsp;{&nbsp;//&nbsp;line&nbsp;738 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Let's&nbsp;party&nbsp;like&nbsp;it's&nbsp;1995! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;new&nbsp;BlinkLayout(context,&nbsp;attrs); &nbsp;&nbsp;&nbsp;&nbsp;}//...上线724就检查标签的view,并得到true在第725行,它尝试通过classattr&nbsp;获取课程并获取null在第738行,它尝试检查blink标记并崩溃此外,有一个奇怪的事情,Android开发人员添加了复活节彩蛋,你可以试试:<view &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;class="blink"> &nbsp;&nbsp;&nbsp;&nbsp;<TextView &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="match_parent" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="wrap_content" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:gravity="center" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:text="Some&nbsp;text"&nbsp;/></view>

慕姐8265434

2天后我解决了这个问题使用View而不是view<View &nbsp;&nbsp;&nbsp;&nbsp;android:layout_width="match_parent" &nbsp;&nbsp;&nbsp;&nbsp;android:layout_height="1dp" &nbsp;&nbsp;&nbsp;&nbsp;android:background="#faf4f4"></View>
随时随地看视频慕课网APP

相关分类

Android
我要回答