2012-01-04 14 views
5

Ricevo un'eccezione di mistero segnalata tramite Android Market; a NullPointer in TextView getLeftFadingEdgeStrength(). Non ho mai osservato l'eccezione su nessuno dei miei dispositivi di test. Sembra che stia influenzando una minoranza di utenti ma non posso rintracciarlo a una versione specifica di Android o al rilascio del mio software.Eccezione puntatore nullo in TextView getLeftFadingEdgeStrength segnalato solo tramite Android Market

La traccia dello stack svanisce da qualche parte nel codice dell'interfaccia della piattaforma, senza riferimento a nulla dalla mia applicazione. Ho effettuato una ricerca abbastanza approfondita su Google e qui per qualsiasi suggerimento del problema, ma senza successo.

Sospetto che potrebbe essere qualcosa a che fare con l'utilizzo di un'impostazione di ellissi di selezione in una delle mie TextViews ... e che il modo in cui sto facendo questo in qualche modo espone un bug nel codice del widget UI su alcune piattaforme o versioni. Ma questa è una congettura e sono restio a dedicare troppo tempo a tuffarmi nel codice della piattaforma che insegue le teorie.

Quindi, ho pensato di postare il problema qui e vedere se qualcuno ha riscontrato un problema simile o può aiutare a capire il problema preciso.

traccia Stack segue:

java.lang.NullPointerException 
    at android.widget.TextView.getLeftFadingEdgeStrength(TextView.java:7321) 
    at android.view.View.draw(View.java:7004) 
    at android.view.View.buildDrawingCache(View.java:6695) 
    at android.view.ViewGroup.onAnimationStart(ViewGroup.java:1259) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:1505) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:1644) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:1644) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:1644) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:1644) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:1644) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373) 
    at android.view.View.draw(View.java:6936) 
    at android.widget.FrameLayout.draw(FrameLayout.java:357) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1901) 
    at android.view.ViewRoot.draw(ViewRoot.java:1530) 
    at android.view.ViewRoot.performTraversals(ViewRoot.java:1266) 
    at android.view.ViewRoot.handleMessage(ViewRoot.java:1868) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:123) 
    at android.app.ActivityThread.main(ActivityThread.java:3691) 
    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:847) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) 
    at dalvik.system.NativeStart.main(Native Method) 

risposta

3

Nel caso in cui qualcun altro si imbatte in questo problema, ho un utente segnalazione esattamente lo stesso incidente sul dispositivo Android 2.3.5.

nulljava.lang.NullPointerException a android.widget.TextView.getLeftFadingEdgeStrength (TextView.java:7449) a android.view.View.draw (View.java:7004) a android.view.ViewGroup.drawChild (ViewGroup.java:1646) a android.view.ViewGroup.dispatchDraw (ViewGroup.java:1373) a android.view.View.draw (View.java:6936) ...

Mentre ero non in grado di determinare il motivo esatto dello schianto, nel mio caso sono stato in grado di risolverlo sostituendo l'attributo android: ellipsize = "marquee" in un paio di TextViews su android: ellipsize = "end". (Secondo la fonte Android l'arresto anomalo si verifica nel metodo getLeftFadingEdgeStrength se la visualizzazione testo è impostata su selezione.)

Lo stesso codice funzionava senza problemi su molti dispositivi e versioni di Android, quindi il crash era limitato a un numero limitato di dispositivi. Ciò che era un po 'specifico per questo particolare dispositivo era che stava usando un linguaggio RTL E il TextView offensivo era coinvolto in un'animazione.

+0

Grazie, solo il suggerimento che ho avuto in una soluzione. Sono arrivato a sospettare l'attributo ellipsize, ma non a determinare un modo per fermare il problema. –

Problemi correlati