[android] Android getText from EditText field

I have a problem with getting text from EditText field to insert it in Email composer with intent. I've declared EditText field in layout file (@+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>

The button calls onClick method "sestaviEmail" and I have declared it:

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();
    }

I'm just showing it with Toast because it's faster but everytime I try to get text from field I get "false". All other questions that I've found had code which declared Button in methods and not in layout, maybe this is a part of the problem?

This question is related to android android-edittext

The answer is


You can simply get the text in editText by applying below code:

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

then you can toast string text!

Happy coding!


Try out this will solve ur problem ....

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

Try this.

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

Use this:

  setContentView(R.layout.yourlayout);

  //after setting yor layout do the following
  EditText email = (EdiText) findViewById(R.id.vnosEmaila);
  String val = email.getText().toString;   // Use the toString method to convert the return value to a String.

  //Your Toast with String val; 
  Toast toast = Toast.makeText(EmailGumb.this, val, Toast.LENGTH_LONG);
  toast.setGravity(Gravity.CENTER, 0, 0);
  toast.show();

Thanks


Try this -

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

String text = myEditText.getText().toString();

EditText txt = (EditText)findviewbyid(R.id.txt);

Editable str = txt.getText().toString();

Toast toast = Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG);  

toast.show();