I want to use a bitmap var in a class. It makes 'property getter or setter expected' error. What is the problem? The error shows around 'bmp? : Bitmap = null'. How can I solve the problem?
And I don't understand why I must use getter or setter for private properties in a class.
class MyView(context: Context?) : View(context) {
private var bmp? : Bitmap = null
init {
bmp = BitmapFactory.decodeResource(resources, R.mipmap.ic_launcher)
}
override fun onDraw(canvas: Canvas?) {
super.onDraw(canvas)
canvas?.drawColor(Color.BLUE)
canvas?.drawBitmap(bmp,10f,10f, null)
}
}
Issue is that you're going to create Nullable object using safe call operator, but your syntax is wrong. Inspite of placing ?
at variable, you'll need to put it at Reference type.
Check correct syntax :
private var bmp : Bitmap? = null
And then you can access this variable with safe call operator like below :
bmp?.someMethodCall() // This line will never throw you null pointer exception because of ? (Safe call operator)
Check out more here.
Please try below line
lateinit var bmp : Bitmap
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With