Получение и изменение свойств класса Custom View в Android

Я новичок в Android. Я использую пользовательский класс представления, скажем, CustomView, который выглядит так:

class CustomView(context: Context?,attributeSet: AttributeSet) : View(context) {

    class CustomView constructor(context: Context?, attributeSet: AttributeSet){

    }
    var number = 1
}

Я раздуваю это представление внутри своего представления в основном ресурсе активности, например:

<com.example.myapp.CustomView
     android:id = "@+id/custom_view"
     android:layout_width = "match_parent"
     android:layout_height = "match_parent"/>

Теперь, что я хочу сделать, это нажать кнопку в основном действии и изменить значение числа, а также получить измененное значение числа в основном действии.

Например, нажатие кнопки в основном действии, изменение значения числа на 2 и отображение измененного значения внутри основного действия.

Является ли это возможным?

Только не отмечайте свой number объект как private.

Tenfour04 23.12.2020 20:06

сделано, но как мне теперь получить значение

iamsubingyawali 24.12.2020 10:39
0
2
385
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Использование простых функций установки и получения

class CustomView constructor(context: Context?, attributeSet: AttributeSet){
    
    var number = 1

    fun getNumber(){
        return number
    }

    fun setNumber(num: Int){
        number = num
    }
}

И называя их как

val customView: CustomView = findViewById(R.id.custom_view)
customView.setNumber(2)
var num = customView.getNumber()

С геттером и сеттером он будет отлично работать и с модификатором приватного доступа.

Другие вопросы по теме