2017-09-11 3 views
0

J'ai créé un message en utilisant EditText pour la critique et la suggestion qui sera envoyée en utilisant l'email d'intention, mais quand j'ai ramassé le message il n'y avait aucun résultat.Edittext ne peut pas être converti en chaîne

Je pris une chaîne d'utiliser EditText

message = msg_feedback.getText().toString(); 

et si je l'utilise directement

message = msg_feedback.toString(); 

il apparaît dans le journal suivant

android.support.v7.widget .AppCompatEditText {2bd670a VFED..CL. ......JE. 0,0-0,0 # app 7f0f00ce: id/msgFeedback}

suivant son code complet

Activité

@InjectView(R.id.msgFeedback) 
EditText msg_feedback; 

String message; 

message = msg_feedback.getText().toString(); 

Mise en page

<EditText 
    android:id="@+id/msgFeedback" 
    android:layout_width="344dp" 
    android:layout_height="190dp" 
    android:ems="10" 
    android:inputType="textMultiLine" 
    android:singleLine="false" 
    android:maxLines="9" 
    android:lines="9" 
    android:maxLength="397" 
    android:gravity="top" 
    android:fitsSystemWindows="true" 
    android:breakStrategy="balanced" 
    android:layout_marginLeft="8dp" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="8dp" 
    app:layout_constraintTop_toBottomOf="@+id/nohpFeedback" /> 
+0

Et de quoi avez-vous besoin? Quelle est votre question? –

+0

L'appel getText() ne renvoie donc rien? Vous obtenez le nom de l'objet si vous toString() la vue elle-même. – stonecompass

Répondre

0

Vous pouvez obtenir le message d'editext sous forme de chaîne en utilisant cette approche.

message = msg_feedback.getText().toString(); 

Maintenant, vous pouvez utiliser le message comme une chaîne qui sera le texte de l'edittext.

et ici message = msg_feedback.toString(); Vous obtenez réellement le nom de votre EditText en tant que chaîne.

+0

oui je l'ai utilisé, et aucun résultat de chaîne n'est sorti – arjava

+0

après l'utilisation de cette chaîne. –

+0

oui effectivement le problème là-bas, mais maintenant il est résolu – arjava

0

et si j'utilise directement

message = msg_feedback.toString();

Pourquoi l'utilisez-vous? Ce n'est pas un moyen direct, mais c'est une manière incorrecte. Cela ne vous donnera pas le texte qui contient EditText, il appellera toString() de l'objet de EditText.

donc ci-dessous ainsi est une façon correcte, que vous utilisez déjà

message = msg_feedback.getText().toString(); 
+0

oui je l'ai utilisé, et aucun résultat de chaîne sont sortis – arjava

0

EditText est une classe et msg_feedback est une instance ou un objet de EditText

getText() est une méthode de EditText que le retour CharSequence

toString() est une méthode de String classe et toString() utiliser pour convertir objc et à String

Si vous convertissez directement objet EditText à objet String est renvoyer la référence de l'objet et des informations sur EditText

voir avec précaution. Il est de votre sortie ..

android.support.v7.widget.AppCompatEditText{//Class Info 
    2bd670a VFED..CL. ......I. 0, 
    0-0, 
    0 
    #7f0f00ce 
    app:id/msgFeedback //EditText ID 
} 

pas le texte à l'intérieur EditText. Donc, si vous voulez que le texte à l'intérieur du EditText vous devez utiliser

msg_feedback.getText().toString(); 

Comprenez-vous? Si une requête est libre de demander.

0

ce code est correct

message = msg_feedback.getText().toString(); 

désolé, tout tourne mon insouciance, cela ne concerne pas la conversion réelle. mais le problème d'accès à la chaîne, j'appelle dans les touches de fonction j'ai oublié de changer son accès.