Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get text string from EditText?

It seems I can't figure out how to get the text string out of EditText. I want to use the text from the EditText at pressing the button.

layout.xml :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/popup_menu_root"
    android:background="#FFFFFF"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <Button android:id="@+id/popup_menu_button"
        android:text="ok"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/edittext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

My Activity :

public class MyClass extends Activity {

  public String txtCheckin = "???";
  private String txtDescription = "???";
  private PopupWindow pw;

  @Override
  public void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    // get the instance of the LayoutInflater
    LayoutInflater inflater = (LayoutInflater) MyClass.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    // inflate our view from the corresponding XML file
    final View layout = inflater.inflate(R.layout.popuplayout, (ViewGroup)findViewById(R.id.popup_menu_root));
    // create a 100px width and 200px height popup window
    pw = new PopupWindow(layout, 100, 200, true);

    final EditText edittextDescription = (EditText) findViewById(R.id.edittext);

    // set actions to buttons we have in our popup
    Button button = (Button)layout.findViewById(R.id.popup_menu_button);
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View vv) {


        if (edittextDescription.getText() != null)
        {
            String newString = edittextDescription.getText().toString();
            transmitCheck("MANUAL", txtCheckin, "1", newString);
        }
        else
        {
            transmitCheck("MANUAL", txtCheckin, "1", "???");
        }


        finish();
        }
    });
}
like image 318
Henrik Avatar asked Mar 16 '11 12:03

Henrik


People also ask

How do we get the input from the EditText as strings which can be sent to the server?

We have used getText() method to get the text entered in the EditText views. But getText() method returns an Editable instance and therefore we have typecasted it to convert it into String for further use. This can be done by using the toString() method.


3 Answers

EditText txtDescription =
        (EditText) layout.findViewById(R.id.txtDescription);


String message = txtDescription.getText().toString(); 
like image 82
Shark Avatar answered Oct 11 '22 10:10

Shark


Try this :

EditText edt = (EditText)findViewById(R.id.edittext);
String xyz = edt.getText().toString();
like image 45
Azahar Avatar answered Oct 11 '22 10:10

Azahar


Solved the problem myself:

final EditText edittextDescription = (EditText) findViewById(R.id.edittext);

must be

final EditText edittextDescription =  (EditText)layout.findViewById(R.id.txtDescription);

And then I can do this to get the string

String s = edittext.getText().toString();
like image 10
Henrik Avatar answered Oct 11 '22 11:10

Henrik