EditText widget in Android using Java with Examples

24 Sep, 2021
Widget refers to the elements of the UI (User Interface) that helps user interacts with the Android App. Edittext is one of many such widgets which can be used to retrieve text data from user.
Edittext refers to the widget that displays an empty textfield in which a user can enter the required text and this text is further used inside our application.
Class Syntax: 
public class EditText
extends TextView
Class Hierarchy: 
java.lang.Object
  ↳android.view.View
     ↳ android.widget.TextView
          ↳ android.widget.EditText
Syntax: 
<SomeLayout>
    .
    .
    <Edittext
        android:SomeAttribute1 = "Value of attribute1"
        android:SomeAttribute2 = "Value of attribute2"
        .
        .
        android:SomeAttributeN = "Value of attributeN"/>
    .
    .
</SomeLayout>
Here the layout can be any layout like Relative, Linear, etc (Refer this article to learn more about layouts). And the attributes can be many among the table given below in this article.
Example: 
 <RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      tools:context=".MainActivity"
      android:gravity="center">>

    <Edittext
        android:id="@+id/text_view_id"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="GeeksforGeeks" />

    <Button
        android:id="@+id/button_id"
        android:layout_width="300dp"
        android:layout_height="40dp"
        android:layout_below="@+id/edittext_id"
        android:layout_marginTop="20dp"
        android:text="Submit"
        android:textColor="#fff"
        android:background="@color/colorPrimary"/>

 </RelativeLayout>
How to include a Edittext in an Android App: 
First of all, create a new Android app, or take an existing app to edit it. In both the case, there must be an XML layout activity file and a Java class file linked to this activity.
Open the Activity file and include a Edittext field in the layout (activity_main.xml) file of the activity and also add a Button in activity_main.xml file too.
Now in the Java file, link this layout file with the below code: 
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
where activity_main is the name of the layout file to be attached.
Now we will add code in MainActivity.java file to make our layout interactive or responsive. Our application will generate a toast on clicking the button with the text “Welcome to GeeksforGeeks [Name as entered by user]“
The complete code of the layout file and the Java file is given below.
Below is the implementation of the above approach: 
Filename: activity_main.xml
XML
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity"    android:gravity="center">     <EditText        android:id="@+id/edittext_id"        android:layout_width="300dp"        android:layout_height="40dp"        android:hint="Enter your Name"/>     <Button        android:id="@+id/button_id"        android:layout_width="300dp"        android:layout_height="40dp"        android:layout_below="@+id/edittext_id"        android:layout_marginTop="20dp"        android:text="Submit"        android:textColor="#fff"        android:background="@color/colorPrimary"/> </RelativeLayout>
Filename: MainActivity.java
Java
package com.project.edittext; import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast; public class MainActivity extends AppCompatActivity {     private EditText editText;    private Button button;     @Override    protected void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         editText            = (EditText)findViewById(R.id.edittext_id);        button            = (Button)findViewById(R.id.button_id);         button.setOnClickListener(            new View.OnClickListener() {                 @Override                public void onClick(View v)                {                    String name                        = editText.getText()                              .toString();                    Toast.makeText(MainActivity.this,                                   "Welcome to GeeksforGeeks "                                       + name,                                   Toast.LENGTH_SHORT)                        .show();                }            });    }}
Output: Upon starting of the App and entering the name in EditText. The name in the EditText is then displayed: 
 
sagartomar9927
android
Android-View
Android
Java
Java
Android
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to Add Views Dynamically and Store Data in Arraylist in Android?
Android RecyclerView in Kotlin
Broadcast Receiver in Android With Example
Android SDK and it's Components
Flutter - Custom Bottom Navigation Bar
Arrays in Java
Split() String method in Java with examples
Arrays.sort() in Java with examples
Reverse a string in Java
Object Oriented Programming (OOPs) Concept in Java