ожидается получение или установщик свойства - PullRequest
4 голосов
/ 10 апреля 2019

Я хочу использовать растровую переменную в классе. Это делает ошибку 'свойства getter или setter Ожидается' В чем проблема? Ошибка показывает вокруг «BMP? : Bitmap = null '. Как я могу решить проблему?

И я не понимаю, почему я должен использовать getter или setter для частных свойств в классе.

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)
    }
}

Ответы [ 2 ]

3 голосов
/ 10 апреля 2019

Проблема в том, что вы собираетесь создать Nullable объект, используя безопасный оператор вызова, но ваш синтаксис неверен. Несмотря на размещение ? в переменной, вам нужно поместить его в тип ссылки.

Проверьте правильный синтаксис:

private var bmp : Bitmap? = null

И затем вы можете получить доступ к этой переменной с помощью оператора безопасного вызова, как показано ниже:

bmp?.someMethodCall() // This line will never throw you null pointer exception because of ? (Safe call operator)

Проверьте больше здесь .

2 голосов
/ 10 апреля 2019

Пожалуйста, попробуйте ниже строки

lateinit var bmp : Bitmap
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...