2017-10-23 33 views
3

ビットマップをImageViewに添付するときに問題があります。これは私がエラーを取得されていますAndroidスタジオ:ビットマップからイメージビューへのエラー

public SimulationView(Context context) { 
    super(context); 
    mXOrigin = 50; 
    mYOrigin = 50; 

    mHorizontalBound = 100; 
    mVerticalBound = 100; 

    //Sensor Manager 
    sensorManager = (SensorManager)context.getSystemService(SENSOR_SERVICE); 

    Bitmap ball = BitmapFactory.decodeResource(getResources(), R.drawable.ball); 
    iBall.setImageBitmap(ball); 

    mBitmap = Bitmap.createScaledBitmap(ball, BALL_SIZE, BALL_SIZE, true); 
    Bitmap basket = BitmapFactory.decodeResource(getResources(), R.drawable.basket); 
    mBasket = Bitmap.createScaledBitmap(basket, BASKET_SIZE, BASKET_SIZE, true); 
    BitmapFactory.Options opts = new BitmapFactory.Options(); 
    opts.inDither = true; 
    opts.inPreferredConfig = Bitmap.Config.RGB_565; 
    mField = BitmapFactory.decodeResource(getResources(), R.drawable.field, opts); 

    WindowManager mWindowManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); 
    mDisplay = mWindowManager.getDefaultDisplay(); 
} 

E/AndroidRuntime: FATAL EXCEPTION: main 
Process: accelerometer.example.com.accgame, PID: 25897 
... 
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference 

が、私はそれがnullポインタ例外である知っているが、getResources()がnullを返し、なぜ私は見当がつかない... は、ここに私のコンストラクタクラスです基本的には、エラーが行をハイライト表示iBall.setImageBitmap(ball);

イメージ自体に関して、私はそれをdrawablesフォルダに配置しました。それは.jpgファイルであり、私はそれをたくさん縮小しました。

+0

(context.getResourcesを使用してみてください)だけでなくgetResources(の)... –

+0

こんにちは、残念ながらそれは動作しませんでした...私のメインの活動では(これは私はSimulationViewを次のコードで呼びます:SimulationView view = view = new SimulationView(this)...これは私が渡すはずのものですか? – futureLookingGrimm

+0

'iBall'はエラーメッセージに関するヌルです。なぜそれが答えになるのか調べてみてください。 –

答えて

5

OnCreateイベントで初期化iBall()メソッド

iBall = (ImageView)findViewById(R.id.image); 
+0

ありがとう!ああ、これは非常に単純なエラー.. – futureLookingGrimm

関連する問題