web-dev-qa-db-fra.com

Android getText depuis le champ EditText

J'ai du mal à obtenir du texte du champ EditText pour l'insérer dans le composeur de courrier électronique avec intention. J'ai déclaré le champ EditText dans le fichier de mise en page (@ + id/vnosEmaila):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:orientation="vertical"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent">
<TextView 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/navodiloEmail"
    Android:text="@string/navodiloEmail"
    Android:textSize="15dip"/>
<EditText 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/vnosEmaila"
    Android:layout_below="@id/navodiloEmail"/>
<TextView 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/navodiloZadeva"
    Android:text="@string/navodiloZadeva"
    Android:layout_below="@id/vnosEmaila"
    Android:textSize="15dip"/>
<EditText 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/vnosZadeve"
    Android:layout_below="@id/navodiloZadeva"/>
<TextView 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/navodiloBody"
    Android:text="@string/navodiloBody"
    Android:layout_below="@id/vnosZadeve"
    Android:textSize="15dip"/>
<EditText 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:id="@+id/vnosBody"
    Android:layout_below="@id/navodiloBody"/>
<Button 
    Android:id="@+id/klicIntentEmail"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:text="@string/sestaviEmail"
    Android:onClick="sestaviEmail"
    Android:layout_below="@id/vnosBody"/>
</RelativeLayout>

Le bouton appelle la méthode onClick "sestaviEmail" et je l’ai déclarée:

public void sestaviEmail (View view){
    CharSequence test = getText(R.id.vnosEmaila);
    Toast toast = Toast.makeText(EmailGumb.this, test, Toast.LENGTH_LONG);
    toast.setGravity(Gravity.CENTER, 0, 0);
    toast.show();
    }

Je le montre simplement avec Toast parce que c'est plus rapide, mais chaque fois que j'essaie d'obtenir du texte d'un champ, je reçois "faux". Toutes les autres questions que j'ai trouvées avaient du code qui déclarait Button dans les méthodes et non dans la présentation, peut-être que cela fait partie du problème?

26
Alesito

Exemple de code pour Comment obtenir du texte de EditText.

Syntaxe Java Android

EditText text = (EditText)findViewById(R.id.vnosEmaila);
String value = text.getText().toString();

Syntaxe de Kotlin

val text = findViewById<View>(R.id.vnosEmaila) as EditText
val value = text.text.toString()
82
Niranj Patel

Essaye ça.

EditText text = (EditText)findViewById(R.id.edittext1);
String  str = text.getText().toString().trim();
10
Randroid

Essaye ça - 

EditText myEditText =  (EditText) findViewById(R.id.vnosEmaila);

String text = myEditText.getText().toString();
4
Abhinav Manchanda

Essayez ceci résoudra votre problème ...

EditText etxt = (EditText)findviewbyid(R.id.etxt);
String str_value = etxt.getText().toString();
1
Richa

Vous pouvez simplement obtenir le texte dans editText en appliquant le code ci-dessous:

EditText editText=(EditText)findViewById(R.id.vnosZadeve);
String text=editText.getText().toString();

alors vous pouvez griller du texte en chaîne!

Bonne codage!

0
Android Geek