2010-03-03 6 views
7

Nel tentativo di sovrapporre le immagini su una tela utilizzando il seguente metodo:errore android.graphics.Canvas.throwIfRecycled quando sovrapponendo bitmap

private Bitmap overlay(Bitmap bmp1, Bitmap bmp2) { 

    bmOverlay = Bitmap.createBitmap(70, 70, Bitmap.Config.RGB_565); 
    canvas = new Canvas(bmOverlay); 
    canvas.drawBitmap(bmp1, 0, 0, null); //line 179 
    canvas.drawBitmap(bmp2, 0, 0, null); 
    return bmOverlay;   
} 

Tuttavia, la mia app continua a bloccarsi e il registro si legge:

java .lang.NullPointerException su android.graphics.Canvas.throwIfRecycled (Canvas.java:954) su android.graphics.Canvas.drawBitmap (Canvas.java:980) su com.MyApp.overlay (MyApp.java:179)

Qualcuno può aiutare?

+0

Questo accade a intermittenza a proposito. Sto scaricando le immagini da Internet e sovrapposto a ciascuna con una cornice a seconda di determinate condizioni. bmp1 è l'immagine che ho scaricato e bmp2 è il fotogramma con cui lo sto sovrapponendo. – Yavin4

+0

Sei sicuro che bmp1 non sia nullo? –

+0

Leggere il tuo commento ora mi fa fare un palmo. Tornerò da te, ma credo che mi riferisca a questo metodo in una prova/cattura. In questo caso dovrebbe essere al di fuori del mio tentativo/cattura. Maggiori dettagli presto. Grazie Maurits. : 0) – Yavin4

risposta

4

Ho avuto la stessa eccezione trowIfRecycled durante il tentativo di disegnare una bitmap su una tela. Stavo cercando di disegnare una discussione che ho iniziato, prima che il programma iniziasse a inizializzare la bitmap. Quindi nel mio caso: bitmap era nullo e dovevo cercare un posto migliore per l'inizializzazione.

0

Avevo anche questa stessa traccia di stack e ho cercato di trovare una soluzione dal thread, ecc., Ma poi ho scoperto che non ho mai assegnato la variabile bitmap nel mio codice.

Problemi correlati