Android 如何从Kotlin中的TextInputLayout获取文本?

Android 如何从Kotlin中的TextInputLayout获取文本?,android,kotlin,textinputlayout,Android,Kotlin,Textinputlayout,我有一个id为login\u mobile\u number的文本输入布局,我已导入此模块以停止使用findViewById方法: import kotlinx.android.synthetic.main.activity_login.* 每当我尝试通过从TextInputLayout获取文本时 val loginMobileNumberString:String = login_mobile_number.editText.toString() 它返回对象名,而不是在其中键入的字符串,如

我有一个id为login\u mobile\u number的文本输入布局,我已导入此模块以停止使用
findViewById
方法:

import kotlinx.android.synthetic.main.activity_login.*
每当我尝试通过从TextInputLayout获取文本时

val loginMobileNumberString:String = login_mobile_number.editText.toString()
它返回对象名,而不是在其中键入的字符串,如下所示:

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:String = login_mobile_number.text.toString()
此外,您不需要从文本输入布局中获取文本,他应该只关注输入的布局,正如名称中所示,您可以直接从编辑文本中进行操作。只需给它一个id,然后以与文本输入布局相同的方式导入

val loginMobileNumberString = login_mobile_number.text.toString()
无需指定为
:String

您可以使用它

val loginMobileNumberString = login_mobile_number.text.toString()

无需指定为
:String

另一种方法是将其括在引号中,使其成为字符串

val loginMobileNumberString=“${login\u mobile\u number.text}”

或者如果
login\u mobile\u number
指的是
TextInputLayout


val loginMobileNumberString=“${login\u mobile\u number.editText.text}”

另一种方法是将其括在引号中,使其成为字符串

val loginMobileNumberString=“${login\u mobile\u number.text}”

或者如果
login\u mobile\u number
指的是
TextInputLayout


val loginMobileNumberString=“${login\u mobile\u number.editText.text}”

从TextInputLayout内的TextInputItemText获取文本

<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>

从TextInputLayout中的TextInputText获取文本

<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>

如果
editText
editText
editText.text.toString()
如果
editText
editText.text.toString()
editText.toString()
最后一个“.toString()”转换为字符串,例如span将字符串转换为字符串,以便比较字符串。最后一个“.toString()”转换为字符串,例如SpannableString to string,它允许您比较字符串。