react method attempt android nullpointerexception layout-inflater android-inflate inflate-exception

android - method - NPE al inflar el diseño(Intente invocar el método virtual ''boolean java.lang.String.equals(java.lang.Object)'' en una referencia de objeto nulo)



attempt to invoke virtual method react native (2)

Cambie <view a <View , porque la view no se trata de una vista vacía . Es para una vista personalizada definida a través de la class attr, como a continuación:

<view android:layout_width="wrap_content" android:layout_height="wrap_content" class="com.your.package.YourCustomView" />

Y tienes

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ''boolean java.lang.String.equals(java.lang.Object)'' on a null object reference

debido a LayoutInflater intenta analizar class attr:

LayoutInflater fuente LayoutInflater

//... View createViewFromTag(View parent, String name, Context context, AttributeSet attrs, boolean ignoreThemeAttr) { if (name.equals("view")) { // line 724 name = attrs.getAttributeValue(null, "class"); // line 725 } // Apply a theme wrapper, if allowed and one is specified. if (!ignoreThemeAttr) { final TypedArray ta = context.obtainStyledAttributes(attrs, ATTRS_THEME); final int themeResId = ta.getResourceId(0, 0); if (themeResId != 0) { context = new ContextThemeWrapper(context, themeResId); } ta.recycle(); } if (name.equals(TAG_1995)) { // line 738 // Let''s party like it''s 1995! return new BlinkLayout(context, attrs); } //...

  • En la línea 724 verifica que su etiqueta se view y se true
  • En la línea 725 intenta pasar de clase a class attr y queda null
  • En la línea 738 intenta verificar la etiqueta de blink y se bloquea

Además, hay algo curioso, los desarrolladores de Android agregaron Easter Egg, puedes probarlo:

<view android:layout_width="wrap_content" android:layout_height="wrap_content" class="blink"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Some text" /> </view>

Sigo obteniendo una java.lang.NullPointerException cuando intento usar ScrollView en una actividad.

Lo extraño es que he usado exactamente la misma configuración de Scrollview en otras actividades. Y de repente recibo errores. He intentado limpiar el proyecto y reconstruirlo.

Y he probado el viejo y bueno reiniciar el programa. Hoy aprendí mucho sobre las excepciones de puntero nulo, pero no he podido entender por qué sigo teniendo problemas de renderizado .

Esta es la java.lang.NullPointerException que se lanza en el 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)

Entonces, nada de esto es código que escribí. Entonces me zambullí en el rastro de la pila y encontré esto:

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)

Que apunta a la línea 11 en el archivo Contact.java . Que se ve así (he puesto indicadores alrededor de la línea 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 } }

No veo un problema con la línea 11 .

Ahora, no puedo entender qué está mal con mi código. Entre los problemas de representación y NullPointerExceptions , no puedo entender qué está realmente mal con mi código.

Este es un ejemplo de XML en una actividad en la que ScrollView no arroja ningún error:

<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>

Y aquí está la actividad en la que recibo errores:

<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>

¿Alguna sugerencia? Y muchas gracias de antemano!


Después de 2 días resolví este problema, use Ver en lugar de ver

<View android:layout_width="match_parent" android:layout_height="1dp" android:background="#faf4f4"></View>