在 Android 中获取和修改自定义视图 Class 的属性

Getting and modifying properties of Custom View Class in Android

我是 Android 的初学者。我正在使用自定义视图 class,假设 CustomView 看起来像:

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

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

    }
    var number = 1
}

我在主要 activity 资源的视图中膨胀这个视图,例如:

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

现在,我想做的是,在mainactivity上点击一个按钮,修改number的值,同时在mainactivity.[=14=中获取修改后的number值]

比如,在mainactivity中点击一个按钮,将number的值改为2,并在mainactivity中显示修改后的值。

可能吗?

使用简单的 setter 和 getter 函数

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

使用 getter 和 setter,它也可以与私有访问修饰符一起正常工作。