gpt4 book ai didi

android-studio - kotlin 中的全局对象声明

转载 作者:IT老高 更新时间:2023-10-28 13:43:51 25 4
gpt4 key购买 nike

如何在 kotlin 中像在 java TextView tv; 中一样全局声明对象。

或任何方法在不同的方法/函数中调用相同的变量。

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val textView: TextView = findViewById(R.id.texfirst) as TextView

textView.setOnClickListener {
Toast.makeText(applicationContext,"Welcome to Kotlin ! $abc "+textView.text, Toast.LENGTH_LONG).show()
}

myFunction(textView)
}

fun myFunction(mtextv : TextView) {
Toast.makeText(applicationContext,"This is new $abc "+mtextv.text, Toast.LENGTH_LONG).show()
}

参见上面的代码,我用 TextView 的参数分离了函数。我想要第二个函数的 TextView 对象。我的问题是:是否可以在没有参数的情况下调用函数,我是否能够在 myFunction() 处获取 TextView 对象。

在 android studio 中学习 kotlin。希望问题很清楚。

最佳答案

你提到的是class property .

对于您的情况,您需要在 Activity 类中声明一个 TextView 并通过在 中调用 findViewById() 进行分配>onCreate().

class YourActivity {

lateinit var textView: TextView

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

textView = findViewById(R.id.texfirst) as TextView
//implementation
}

fun myFunction() {
Toast.makeText(applicationContext, "This is new $abc " + textView.text, Toast.LENGTH_LONG).show()
}
}

关于android-studio - kotlin 中的全局对象声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45751263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com