【问题标题】:Convert EditText (type phone) to String in Kotlin在 Kotlin 中将 EditText(类型电话)转换为字符串
【发布时间】:2020-12-22 18:43:11
【问题描述】:

我有两个 EditText 输入字段 (inputType="phone") 一个用于 IP 地址,一个用于端口号。我想以字符串形式获取这两个值。

val ip : String = findViewById<EditText>(R.id.ip).toString()
val port: String = findViewById<EditText>(R.id.port).toString()
println("IP AND PORT: $ip : $port")

输出类似于:androidx.appcompat.widget.AppCompatEditText...

【问题讨论】:

  • findViewById(R.id.ip) 返回文本编辑器,而不是其中包含的文本。寻找文本属性或类似的东西(未经测试的代码,但应该非常接近): val ip: String = findViewById(R.id.ip).text.toString()
  • 你可以直接通过 id 使用,比如 ip.text.toString()

标签: android string kotlin android-edittext


【解决方案1】:

您正在将EditText 转换为字符串。它是复杂的对象,而不仅仅是可见的文本。要从EditText 获取文本,您必须从TextView 获取text 字段。像这样:

val ip : String = findViewById<EditText>(R.id.ip).text.toString()
val port: String = findViewById<EditText>(R.id.port).text.toString()

textView.text 不是String 而是Editable,这就是为什么你必须添加.toString()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 2019-11-19
    • 1970-01-01
    • 2019-10-23
    • 2017-04-20
    • 2014-06-13
    相关资源
    最近更新 更多