如何从 Kotlin 中的 TextInputLayout 获取文本?
How to get text from TextInputLayout in Kotlin?
我有一个 ID 为 login_mobile_number 的文本输入布局,我已导入此模块以停止使用 findViewById
方法:
import kotlinx.android.synthetic.main.activity_login.*
每当我尝试通过
从 TextInputLayout 获取文本时
val loginMobileNumberString:String = login_mobile_number.editText.toString()
它 returns 对象名称而不是像这样在其中键入的字符串:
android.support.design.widget.TextInputEditText{dfdb412 VFED..CL. .F...... 0,0-888,136 #7f0800e1 app:id/textInputEditText}
为什么会这样?从该字段获取字符串的正确方法是什么?
您只需要这样做:
val loginMobileNumberString:String = login_mobile_number.text.toString()
此外,您不需要从文本输入布局中获取文本,他应该只负责输入的布局,顾名思义,您可以直接从编辑文本中进行操作。只需给它一个 id 并以与文本输入布局相同的方式导入。
你可以用这个;
val loginMobileNumberString = login_mobile_number.text.toString()
无需指定为:String
。
另一种方法是用引号括起来,使它成为一个字符串
val loginMobileNumberString = "${login_mobile_number.text}"
或者如果 login_mobile_number
指的是 TextInputLayout
val loginMobileNumberString = "${login_mobile_number.editText.text}"
从 TextInputLayout 中的 TextInputEditText 获取文本
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/descriptionInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/editTextDate2"
tools:layout_editor_absoluteX="184dp">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="250dp"
android:hint="Description" />
</com.google.android.material.textfield.TextInputLayout>
获取文本
val description = descriptionInputLayout.editText?.text.toString()
println("Description: $goalDescription")
我有一个 ID 为 login_mobile_number 的文本输入布局,我已导入此模块以停止使用 findViewById
方法:
import kotlinx.android.synthetic.main.activity_login.*
每当我尝试通过
从 TextInputLayout 获取文本时val loginMobileNumberString:String = login_mobile_number.editText.toString()
它 returns 对象名称而不是像这样在其中键入的字符串:
android.support.design.widget.TextInputEditText{dfdb412 VFED..CL. .F...... 0,0-888,136 #7f0800e1 app:id/textInputEditText}
为什么会这样?从该字段获取字符串的正确方法是什么?
您只需要这样做:
val loginMobileNumberString:String = login_mobile_number.text.toString()
此外,您不需要从文本输入布局中获取文本,他应该只负责输入的布局,顾名思义,您可以直接从编辑文本中进行操作。只需给它一个 id 并以与文本输入布局相同的方式导入。
你可以用这个;
val loginMobileNumberString = login_mobile_number.text.toString()
无需指定为:String
。
另一种方法是用引号括起来,使它成为一个字符串
val loginMobileNumberString = "${login_mobile_number.text}"
或者如果 login_mobile_number
指的是 TextInputLayout
val loginMobileNumberString = "${login_mobile_number.editText.text}"
从 TextInputLayout 中的 TextInputEditText 获取文本
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/descriptionInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@+id/editTextDate2"
tools:layout_editor_absoluteX="184dp">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="250dp"
android:hint="Description" />
</com.google.android.material.textfield.TextInputLayout>
获取文本
val description = descriptionInputLayout.editText?.text.toString()
println("Description: $goalDescription")