Kotlin:如何使用Kotlin在Android中为TextView设置文本?

Nit*_*itt 20 android textview kotlin

我是新手

我想更改文本,TextView点击它.

我的代码:

val text: TextView = findViewById(R.id.android_text) as TextView
    text.setOnClickListener {
        text.setText(getString(R.string.name))
    }
Run Code Online (Sandbox Code Playgroud)

输出:我得到了输出,但显示了使用属性访问语法.

谁能告诉我怎么做?

提前致谢.

Nit*_*lal 42

在kotlin中,不要像java中那样使用getter和setter.下面给出了kotlin的正确格式.

val textView: TextView = findViewById(R.id.android_text) as TextView
textView.setOnClickListener {
    textView.text = getString(R.string.name)
}
Run Code Online (Sandbox Code Playgroud)

要从Textview我们必须使用此方法获取值

 val str: String = textView.text.toString()

 println("the value is $str")
Run Code Online (Sandbox Code Playgroud)

  • 作为附加提示,您可以在发出警告时在Android Studio中按Alt + Enter以快速执行修复操作. (2认同)

tej*_*hah 10

只需添加以下行并访问直接xml对象

import kotlinx.android.synthetic.main.activity_main.*

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

        txt_HelloWorld.text = "abc"
    }
Run Code Online (Sandbox Code Playgroud)

根据您的XML名称替换activity_main


Mar*_*wed 8

在 kotlin 中设置文本

textview.text = "write here"
Run Code Online (Sandbox Code Playgroud)


Ben*_*nny 6

用于textView.textgetter 和 setter,例如:

val textView = findViewById<TextView>(R.id.textView)
// Set text
textView.text = "Hello World!"
// Get text
val textViewString = textView.text.toString()
Run Code Online (Sandbox Code Playgroud)


Avi*_*kar 5

从布局中找到文本视图。

val textView : TextView = findViewById(R.id.android_text) as TextView
Run Code Online (Sandbox Code Playgroud)

在textview上设置onClickListener。

textview.setOnClickListener(object: View.OnClickListener {
    override fun onClick(view: View): Unit {
        // Code here.
        textView.text = getString(R.string.name)
    }
})
Run Code Online (Sandbox Code Playgroud)

如果我们传递单个函数文字参数,则可以从View.setOnClickListener中省略参数括号。因此,简化的代码将是:

textview.setOnClickListener {
    // Code here.
    textView.text = getString(R.string.name)
}
Run Code Online (Sandbox Code Playgroud)