2

これが私が望んでいるものです:IndoorAtlasにフロアプランをロードし、現在の場所を表示します。これが私のコードです:

public void loadFloorPlanImage(FloorPlan floorPlan) {
    BitmapFactory.Options options = createBitmapOptions(floorPlan);
    FutureResult<Bitmap> result = mIndoorAtlas.fetchFloorPlanImage(floorPlan,options);
    result.setCallback(new ResultCallback<Bitmap>() {
        @Override
        public void onResult(final Bitmap result) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    ImageView imageView = (ImageView) findViewById(R.id.imageView);
                    imageView.setImageBitmap(result);
                }
        });
        }
    });
}

この :

private BitmapFactory.Options createBitmapOptions(FloorPlan floorPlan) {
    int reqWidth = 2048;
    int reqHeight = 2048;
    final int width = (int) floorPlan.dimensions[0];
    final int height = (int) floorPlan.dimensions[1];
    int inSampleSize = 1;

    if (height > reqHeight || width > reqWidth) {
        final int halfHeight = height / 2;
        final int halfWidth = width / 2;
        while ((halfHeight / inSampleSize) > reqHeight
                && (halfWidth / inSampleSize) > reqWidth) {
            inSampleSize *= 2;
        }
    }
    options.inSampleSize = inSampleSize;
    return options;
}

エラー結果を受け取りました:

java.lang.NullPointerException: Attempt to write to field 'int android.graphics.BitmapFactory$Options.inSampleSize' on a null object reference
        at skripsi.ubm.studenttracking.indoor.createBitmapOptions(indoor.java:370)
        at skripsi.ubm.studenttracking.indoor.loadFloorPlanImage(indoor.java:322)
        at skripsi.ubm.studenttracking.indoor$1.onResult(indoor.java:163)
        at skripsi.ubm.studenttracking.indoor$1.onResult(indoor.java:159)

私たちを手伝ってくれますか ?

4

1 に答える 1