Parece que no puedo resolver esto. Tengo 2 clases de Java con diferentes características, cada una llamando a BitmapFactory.decodeResource para obtener el mismo recurso de imagen, una devuelve el mapa de bits mientras que la otra devuelve null. Ambas clases están en el mismo paquete.Android: BitmapFactory.decodeResource devolviendo nulo
Aquí está la clase que funciona, llama BitmapFactory.decodeResource que devuelve el mapa de bits. Solo he incluido código relevante.
package advoworks.test;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.util.Log;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class MainScreen extends SurfaceView implements SurfaceHolder.Callback {
private static final String TAG = MainScreen.class.getSimpleName();
public MainScreen(Context context) {
super(context);
Bitmap bitmap;
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.droid_1);
//adding the callback (this) to the surface holder to intercept events;
getHolder().addCallback(this);
// make the GamePanel focusable so it can handle events
setFocusable(true);
}
}
Esta es la clase que no funciona. BitmapFactory.decodeResource devuelve un NULL en depuración. Solo he incluido el código que sentí que era relevante.
package advoworks.test;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.util.Log;
public class Segment {
private int x;
private int y;
private Bitmap bitmap;
public Segment(int x, int y) {
Log.d(TAG, "Creating Segment");
try {
this.bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.droid_1);
} catch (Exception e) {
Log.d(TAG,"Error is " + e);
}
this.x = x;
this.y = y;
Log.d(TAG, "Created Segment");
}
}
Cualquier pista, ¿alguien?
¿Usted está consiguiendo los errores en el Logcat? – blessenm
no, no recibo ningún error en logcat :( – Kevin
¿Por qué necesita cargar el mismo recurso dos veces en la misma aplicación? Cargarlo una vez y pasar su referencia a todos los lugares que lo necesite. – Ronnie