全局对象声明在kotlin中

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

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

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

看到上面的代码我已经分开function与TextView参数。 我想在第二个function的TextView对象。 我的问题是:是否有可能调用没有参数的函数,我可以在myFunction()获得TextView对象。

在android工作室学习kotlin。 希望的问题是明确的。

3 Solutions collect form web for “全局对象声明在kotlin中”

你提到的是类属性 。

为了您的情况,您需要在Activity类中声明一个TextView ,并通过在onCreate()调用findViewById()来完成赋值。

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

你是什​​么意思“全球”? 您提供的代码与Kotlin中的var tv: TextView相匹配,您可以在您的Java代码中的相同位置使用它。

你是说公开课吗? 还是你的意思是单身? 对于公开的课程,你只需要声明它们是公开的(在Kotlin中它们是默认公开的,所以你不需要做任何事情而不是声明它们)。

对于单身人士,你可以看看对象声明(Kotlin中的单身人士)

  • 被其他同伴对象引用的密封类对象神秘地变为空
  • 从扩展名中突变字符串
  • 在谓词中处理返回的最佳方法
  • Kotlin auto在Android Studio中完成覆盖
  • 我怎样才能从可观察到的价值
  • 如何排序Kotlin MutableList
  • 在Kotlin网站上“返回单元的方法的生成器风格的使用”使我迷惑不解
  • Kotlin不会创建类文件错误:在intelliJ IDE中无法find或加载主类
  • 检测视图碰撞并防止覆盖
  • 如何创建一个简单的计时器来使用setInterval每秒执行一个有趣的事情?
  • kotlin中的“::”是什么意思?
  • Kotlin language will be the best programming language for Android.