代码之家  ›  专栏  ›  技术社区  ›  jonasxd360

为dialogView[duplicate]膨胀视图时获取NullPointerExecution

  •  0
  • jonasxd360  · 技术社区  · 6 年前

    java.lang.NullPointerException ScrollView 在活动中。

    Scrollview 在其他活动中设置。突然间我就犯错误了。我试着清理工程和重建。

    我试过重新启动程序。我今天学到了很多关于空指针异常的知识,但是我还不明白为什么我总是 渲染问题 .

    这是 在XML上抛出:

    java.lang.NullPointerException
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:738)
        at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:149)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
        at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:835)
        at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:811)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:838)
        at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:811)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:838)
        at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:811)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
        at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:223)
        at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:426)
        at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
        at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510)
        at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498)
        at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888)
        at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498)
        at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72)
        at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610)
        at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607)
        at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362)
        at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607)
        at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629)
        at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:652)
        at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:80)
        at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:594)
        at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
        at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
        at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
        at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137)
        at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:589)
        at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
        at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
        at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
        at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
        at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
        at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
        at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
        at com.intellij.util.Alarm$Request$1.run(Alarm.java:351)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    

    所以,这些都不是我写的代码。所以我潜入堆栈跟踪找到了这个:

      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)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
                  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:378)
                  at android.app.Activity.setContentView(Activity.java:2145)
                  at com.mitchellpalermo.tutroubleshooting.ContactPage.onCreate(ContactPage.java:11)
                  at android.app.Activity.performCreate(Activity.java:5990)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
                  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)
    

    11号线 联系人.java 文件。如下所示(我在第11行周围设置了指标):

      package com.mitchellpalermo.tutroubleshooting;
    
      import android.app.Activity;
      import android.os.Bundle;
    
      public class Contact extends Activity {
    
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                  setContentView(R.layout.activity_contact); // line 11
            }
      }
    

    我不觉得有什么问题

    现在,我不知道我的代码有什么问题。双方 NullPointerExceptions ,我不知道我的代码到底出了什么问题。

    卷轴视图 不会抛出任何错误:

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        tools:context="com.mitchellpalermo.tutroubleshooting.ComputerOrProjector">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:orientation="vertical">
    
            <TextView
                style="@style/HeaderStyle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="@string/solutions"
                android:textStyle="bold" />
    
            <!-- A CardView that contains a TextView -->
            <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="15dp"
                card_view:cardBackgroundColor="#FFFFFF"
                card_view:cardCornerRadius="4dp"
                card_view:cardElevation="5dp">
    
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">
    
                    <TextView
                        style="@style/Solution"
                        android:text="@string/pc_v_fifth" />
    
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="2dp"
                        android:background="@android:color/darker_gray" />
    
                    <TextView
                        style="@style/Solution"
                        android:text="@string/pc_v_first" />
    
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="2dp"
                        android:background="@android:color/darker_gray" />
    
                    <TextView
                        style="@style/Solution"
                        android:text="@string/pc_v_second" />
    
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="2dp"
                        android:background="@android:color/darker_gray" />
    
                    <TextView
                        style="@style/Solution"
                        android:text="@string/pc_v_third" />
    
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="2dp"
                        android:background="@android:color/darker_gray" />
    
    
                    <TextView
                        style="@style/Solution"
                        android:text="@string/pc_v_fourth" />
    
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="2dp"
                        android:background="@android:color/darker_gray" />
    
                </LinearLayout>
            </android.support.v7.widget.CardView>
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">
    
                <Button
                    style="@style/NextButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:onClick="sendEmail"
                    android:text="@string/fixed"
                    android:textStyle="bold" />
    
                <Button
                    style="@style/NextButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:onClick="notFixedButton"
                    android:text="@string/not_fixed"
                    android:textStyle="bold" />
    
            </LinearLayout>
    
        </LinearLayout>
    
    </ScrollView>
    

    这是 其中我收到错误:

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="false">
    
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
    
            <TextView
                style="@style/HeaderStyle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="@string/still_not_fixed" />
    
            <!-- A CardView that contains a TextView -->
            <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="15dp"
                card_view:cardBackgroundColor="#FFFFFF"
                card_view:cardCornerRadius="4dp"
                card_view:cardElevation="5dp">
    
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/hector" />
    
                <view
                    android:layout_width="match_parent"
                    android:layout_height="2dp"
                    android:backgroundTint="@android:color/darker_gray" />
    
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/robert" />
    
                <view
                    android:layout_width="match_parent"
                    android:layout_height="2dp"
                    android:backgroundTint="@android:color/darker_gray" />
    
                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="@string/mitch" />
    
            </android.support.v7.widget.CardView>
    
        </LinearLayout>
    
    </ScrollView>
    

    有什么建议吗?非常感谢您!

    0 回复  |  直到 9 年前