1
votes

Comment obtenir du texte de TextInputLayout à Kotlin?

J'ai une disposition de saisie de texte avec l'identifiant login_mobile_number, j'ai importé ce module pour arrêter d'utiliser les méthodes findViewById :

android.support.design.widget.TextInputEditText{dfdb412 VFED..CL. .F...... 0,0-888,136 #7f0800e1 app:id/textInputEditText}

Chaque fois que j'essaye d'obtenir du texte depuis le TextInputLayout by

val loginMobileNumberString:String = login_mobile_number.editText.toString()

Il renvoie le nom de l'objet au lieu de la chaîne saisie comme ceci:

import kotlinx.android.synthetic.main.activity_login.*

Pourquoi c'est se produit? Quelle est la méthode appropriée pour obtenir une chaîne de ce champ?


1 commentaires

Si editText est un EditText alors editText.text.toString ()


4 Réponses :


1
votes

Il vous suffit de faire ceci:

val loginMobileNumberString:String = login_mobile_number.text.toString()

De plus, vous n'avez pas besoin de prendre le texte de la mise en page d'entrée de texte, il ne devrait s'occuper que de la mise en page de l'entrée, comme dans le nom, vous pouvez le faire directement à partir du texte d'édition. Donnez-lui simplement un identifiant et importez-le de la même manière que vous l'avez fait avec la mise en page de saisie de texte.


0 commentaires

3
votes

Vous pouvez utiliser ceci;

val loginMobileNumberString = login_mobile_number.text.toString()

Pas besoin de spécifier comme :String.


1 commentaires

le dernier ".toString ()" converti en chaîne par exemple SpannableString en String, qui vous permet de comparer les chaînes.



1
votes

Une autre façon est de le mettre entre guillemets, ce qui en fait une chaîne

val loginMobileNumberString = "$ {login_mobile_number.text}"

ou si login_mobile_number fait référence à un TextInputLayout

val loginMobileNumberString = "$ {login_mobile_number.editText.text}"


0 commentaires

0
votes

Pour obtenir le texte de TextInputEditText dans TextInputLayout

val description = descriptionInputLayout.editText?.text.toString()
println("Description: $goalDescription")

Obtenir le texte

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


0 commentaires