Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


NullPointerException en android.widget.AbsListView.contentFits (AbsListView.java:722)

Tengo una extraña NullPointerException . No hay apuntar en mi código. También sé que mi aplicación da este NullPointerException sólo en:

Fabricante: Sony Ericsson
Producto: MT11i_1256-3856
Versión de Android: 2.3.4

¿Algunas ideas?

 java.lang.NullPointerException at android.widget.AbsListView.contentFits(AbsListView.java:722) at android.widget.AbsListView.onTouchEvent(AbsListView.java:2430) at android.widget.ListView.onTouchEvent(ListView.java:3447) at android.view.View.dispatchTouchEvent(View.java:3952) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:995) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1034) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1711) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1145) at android.app.Activity.dispatchTouchEvent(Activity.java:2096) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1695) at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2217) at android.view.ViewRoot.handleMessage(ViewRoot.java:1901) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3701) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624) at dalvik.system.NativeStart.main(Native Method) 

  • El interruptor se bloquea cuando se hace clic en Android 5.0
  • Reciclar vista - java.lang.NullPointerException
  • ¿Puede la intención recibida por un BroadcastReceiver ser nula?
  • Android: Pasar datos (extras) a un fragmento
  • NullPointerException: Intenta invocar el método virtual 'boolean java.lang.String.equalsIgnoreCase (java.lang.String)' en una referencia de objeto nulo
  • Cache.Entry no obtener datos json
  • Android Api 23 Cambiar Navegación Ver headerLayout textview
  • Actividad onNewIntent Excepción de puntero nulo
  • One Solution collect form web for “NullPointerException en android.widget.AbsListView.contentFits (AbsListView.java:722)”

    Tengo muchas excepciones similares en nuestras aplicaciones. Hice algunas investigaciones en el código fuente del sistema operativo Android, y llegó a una conclusión – esto es un error de Android OS Gingerbread y por debajo, y se ha solucionado en Ice Cream Sandwich.

    Si desea más detalles, consulte el código fuente del método AbsListView.contentFits en el árbol de origen de Gingerbread:

     private boolean contentFits() { final int childCount = getChildCount(); if (childCount != mItemCount) { return false; } return getChildAt(0).getTop() >= 0 && getChildAt(childCount - 1).getBottom() <= mBottom; } 

    Es obvio que este método arrojará NullPointerException si se llama a una lista vacía, porque getChildAt(0) devolverá NULL. Esto se corrigió en el árbol de origen ICS

     private boolean contentFits() { final int childCount = getChildCount(); if (childCount == 0) return true; if (childCount != mItemCount) return false; return getChildAt(0).getTop() >= mListPadding.top && getChildAt(childCount - 1).getBottom() <= getHeight() - mListPadding.bottom; } 

    Como puede ver, hay un cheque para (childCount == 0) .

    En cuanto a una solución para este problema, puede declarar su propia clase. MyListView extends ListView , reemplaza el método onTouchEvent y la llamada envolvente a super.onTouchEvent() con un bloque try-catch. Por supuesto, necesitarás usar tu clase ListView personalizada en todos los lugares de tu aplicación.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.