Ustawianie tła obrazu w SurfaceView, uzyskiwanie czarnego ekranu

Dobrze więc próbuję ustawić tło SurfaceView na plik JPG. Ale wydaje się, że nie chce rysować obrazu, a wszystko, co dostaję, to czarny ekran.

Oto mój kod:

    public class FloorplanActivity extends Activity{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MapView mapView = new MapView(getApplicationContext());
    setContentView(mapView);


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.floorplan, menu);
    return true;
}

class MapView extends SurfaceView{

    Rect testRectangle1 = new Rect(0, 0, 50, 50);
    Bitmap scaled;
    int x;
    int y;

    public MapView(Context context) {
        super(context);

    }

    public void surfaceCreated(SurfaceHolder arg0){
        Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.floorplan);
        float scale = (float)background.getHeight()/(float)getHeight();
        int newWidth = Math.round(background.getWidth()/scale);
        int newHeight = Math.round(background.getHeight()/scale);
        scaled = Bitmap.createScaledBitmap(background, newWidth, newHeight, true);
    }

 public void onDraw(Canvas canvas) {
        canvas.drawBitmap(scaled, 0, 0, null); // draw the background
    }

Nie wiem, dlaczego nie narysuje obrazu „floorplan”, który zapisałem w folderze drawable-mdpi.

Czy ktoś ma jakieś sugestie?

Dzięki.

EDYCJA: Po wykonaniu debugowania z punktami przerwania, wydaje się, że zmienna „skalowana” z jakiegoś powodu staje się „Nieskończonością” i jako takie zmienne newWidth i newHeight stają się mniejsze niż 0, a aplikacja ulega awarii.

To jest tylko wtedy, gdy przesunę całą powierzchnię utworzoną w konstruktorze, jeśli zostawię kod tak, jak jest tutaj, to nie robi nic, co wyświetla czarny ekran.

Nie mam pojęcia, co sprawia, że ​​to robi ...

questionAnswers(1)

yourAnswerToTheQuestion