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();
}
});
}
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.
EditText txtDescription =
(EditText) layout.findViewById(R.id.txtDescription);
String message = txtDescription.getText().toString();
Try this :
EditText edt = (EditText)findViewById(R.id.edittext);
String xyz = edt.getText().toString();
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();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With