如何访问和修改在MainActivity类的类函数内声明的变量?

时间:2019-07-07 11:04:19

标签: android kotlin

我要访问和修改MainActivity函数中声明的btnClick变量,该怎么办?

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        var btnClick = true
        randomlyChangeDrawable()
    }

    fun randomlyChangeDrawable() {
        btnClick = false
    }
}

2 个答案:

答案 0 :(得分:2)

如果将btnClick移到onCreate方法之外,则可以从MainActivity中的所有方法中访问它。

class MainActivity : AppCompatActivity() {

    var btnClick = true

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        btnClick = true
        randomlyChangeDrawable()
    }

    fun randomlyChangeDrawable() {
        btnClick = false
    }
}

这不是特定于android类的。在类中声明的每个变量(不是在方法内部)都可以在该类的所有方法中访问

答案 1 :(得分:-3)

您可以在顶部声明变量 var btnclicked;

使用kotlin的基本示例

var btnClicked=false;
fun main() {
    println("Hello, world!!!")
    btnClicked=true;
    otherFn()
}

fun otherFn(){
    println(btnClicked) //prints true
    btnClicked=false;
    println(btnClicked) //prints false
}