Hi guys! Today I’m gonna show you some Android EditText examples that I usually use in my android applications. EditText in Android examples are simply like a text field, text area or a text input field in online forms. It is an editable TextView.
EditText in Android Example List
In this post, we will cover:
1. Creating EditText Programatically
1.1 How to Create an EditText Programatically.
2. EditText maxLength and digits Restrictions
2.1 Set Maximum Number of Characters that can be Entered to an EditText.
2.2 Set EditText to accept numeric characters only.
3. Button-triggered EditText and Input Types
3.1 How Get Value from an EditText Programatically.
3.2 How to Assign Value to an EditText.
3.3 How to Clear Value of an EditText.
3.4 EditText Input Types with Screenshots and XML Layout Codes
3.4.1 Plain Text Input
3.4.2 Password Input
3.4.3 Email Address Input
3.4.4 Phone Number Input
3.4.5 Number Input
3.4.6 Signed Number Input
3.4.7 Decimal Number Input
3.5 Section 3 Complete Code
4.0 Section 3 Code Download
1. Creating EditText Programatically
1.1 How to Create an EditText Programatically?
Android Code:
EditText editTextName = new EditText(this);
editTextName.setText("Mary");
2. EditText maxLength and digits Restrictions
2.1 Set Maximum Number of Characters that can be Entered to an EditText.
<!-- Set MaxLegth EditText --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Set MaxLegth of 5 for EditText:" /> <EditText android:id="@+id/editText3" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLength="5"> </EditText>
2.2 Set EditText to accept numeric characters only.
<!-- Allow digits 0,1,2,3,4,5 Only. 6, 7, 8, 9 is not allowed. --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Allow Digits 0,1,2,3,4,5 Only:" /> <EditText android:id="@+id/editText4" android:layout_width="match_parent" android:layout_height="wrap_content" android:digits="012345" />
3. EditText Listeners and Input Types
3.1 How Get Value from an EditText Programatically?
Tapping “Show Plain Text Input” button will show a Toast with value of our edittext for plain text input.
Android code:
final EditText editTextPlainTextInput = (EditText) this.findViewById(R.id.editTextPlainTextInput); Toast.makeText( MainActivity.this, "Plain Text Input: " + editTextPlainTextInput.getText().toString(), Toast.LENGTH_SHORT).show();
3.2 How to Assign Value to an EditText?
Tapping “Assign Number Input to Plain Text Input” button will copy the value of our EditText for number input and put it to our EditText for plain text input.
Android code:
// plain text input final EditText editTextPlainTextInput = (EditText) this.findViewById(R.id.editTextPlainTextInput); // number input final EditText editTextNumberInput = (EditText) this.findViewById(R.id.editTextNumberInput); String number_value = editTextNumberInput.getText().toString(); editTextPlainTextInput.setText(number_value);
3.3 How to Clear Value of an EditText?
Tapping “Clear Plain Text Input” button will empty our EditText for plain text input and only show the “hint” we specified on the XML (in our example the hint is “Type who your are.”).
Android code:
final EditText editTextPlainTextInput = (EditText) this.findViewById(R.id.editTextPlainTextInput);
editTextPlainTextInput.setText("");
3.4 EditText Input Types
3.4.1 Plain Text Input
Softkeyboard allows you to use any characters available.
XML code:
<EditText
android:id="@+id/editTextPlainTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewPlainTextInput"
android:hint="Type who you are."
android:singleLine="true" >
</EditText>
3.4.2 Password Input
Softkeyboard allows you to use any characters available. The EditText field will show only black dots.
XML code:
<EditText
android:id="@+id/editTextPasswordInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewPasswordInput"
android:inputType="textPassword" >
</EditText>
3.4.3 Email Address Input
Softkeyboard shows the @ and .com buttons this time.
XML code:
<EditText
android:id="@+id/editTextEmailAddressInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewEmailAddressInput"
android:inputType="textEmailAddress" />
3.4.4 Phone Number Input
Softkeyboard allows you to enter numbers and any characters acceptable for phone numbers like *, #, -, etc.
XML code:
<EditText
android:id="@+id/editTextPhoneNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewPhoneNumberInput"
android:inputType="phone" />
3.4.5 Number Input
Softkeyboard allows you to enter only numbers this time.
XML code:
<EditText
android:id="@+id/editTextNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewNumberInput"
android:inputType="number" />
3.4.6 Signed Number Input
Softkeyboard allows you to enter numbers and negative sign.
XML code:
<EditText
android:id="@+id/editTextSignedNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewSignedNumberInput"
android:inputType="numberSigned" />
3.4.7 Decimal Number Input
Softkeyboard allows you to enter only decimal numbers.
XML code:
<EditText
android:id="@+id/editTextDecimalNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewDecimalNumberInput"
android:inputType="numberDecimal" />
3.5 Section 3 Complete Code
Here’s the complete code for section 3.
MainActivity.java – includes the button click listener to perform actions with the EditText.
package com.example.androidedittextexample;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
// plain text input
final EditText editTextPlainTextInput = (EditText) this.findViewById(R.id.editTextPlainTextInput);
// number input
final EditText editTextNumberInput = (EditText) this.findViewById(R.id.editTextNumberInput);
View.OnClickListener handler = new View.OnClickListener() {
public void onClick(View v) {
// we will use switch statement and just
// get thebutton's id to make things easier
switch (v.getId()) {
// toast will be shown with the
// EditText for plain text input
case R.id.ShowPlainTextInput:
Toast.makeText( MainActivity.this, "Plain Text Input: " + editTextPlainTextInput.getText().toString(), Toast.LENGTH_SHORT).show();
break;
// the value of EditText for number input
// will be the value of EditText for plain text input
case R.id.AssignToPlainTextInput:
String number_value = editTextNumberInput.getText().toString();
editTextPlainTextInput.setText(number_value);
break;
// the EditText for plain text input will be cleared
case R.id.ClearPlainTextInput:
editTextPlainTextInput.setText("");
break;
}
}
};
// we will set the listeners of our three buttons
findViewById(R.id.ShowPlainTextInput).setOnClickListener(handler);
findViewById(R.id.AssignToPlainTextInput).setOnClickListener(handler);
findViewById(R.id.ClearPlainTextInput).setOnClickListener(handler);
} catch (NullPointerException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
activity_main.xml – XML layout with EditText and buttons.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<!-- we're using scroll view to see all contents -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- EditText for plain text input -->
<TextView
android:id="@+id/textViewPlainTextInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="EditText For Plain Text Input:" />
<EditText
android:id="@+id/editTextPlainTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewPlainTextInput"
android:hint="Type who you are."
android:singleLine="true" >
</EditText>
<!-- EditText for password input -->
<TextView
android:id="@+id/textViewPasswordInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextPlainTextInput"
android:text="EditText For Password Input:" />
<EditText
android:id="@+id/editTextPasswordInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewPasswordInput"
android:inputType="textPassword" >
</EditText>
<!-- EditText for email address input -->
<TextView
android:id="@+id/textViewEmailAddressInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextPasswordInput"
android:text="EditText For Email Address Input" />
<EditText
android:id="@+id/editTextEmailAddressInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewEmailAddressInput"
android:inputType="textEmailAddress" />
<!-- EditText for phone number input -->
<TextView
android:id="@+id/textViewPhoneNumberInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextEmailAddressInput"
android:text="EditText For Phone Number Input" />
<EditText
android:id="@+id/editTextPhoneNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewPhoneNumberInput"
android:inputType="phone" />
<!-- EditText for number input -->
<TextView
android:id="@+id/textViewNumberInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextPhoneNumberInput"
android:text="EditText For Number Input:" />
<EditText
android:id="@+id/editTextNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewNumberInput"
android:inputType="number" />
<!-- EditText for signed number input -->
<TextView
android:id="@+id/textViewSignedNumberInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextNumberInput"
android:text="EditText For Signed Number Input:" />
<EditText
android:id="@+id/editTextSignedNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewSignedNumberInput"
android:inputType="numberSigned" />
<!-- EditText for decimal number input -->
<TextView
android:id="@+id/textViewDecimalNumberInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextSignedNumberInput"
android:text="EditText For Decimal Number Input:" />
<EditText
android:id="@+id/editTextDecimalNumberInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textViewDecimalNumberInput"
android:inputType="numberDecimal" />
<!-- Some options with EditText -->
<!-- Button to clear plain text input -->
<Button
android:id="@+id/ClearPlainTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editTextDecimalNumberInput"
android:text="Clear Plain Text Input" />
<!-- Button to assign number input to plain text input -->
<Button
android:id="@+id/AssignToPlainTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/ClearPlainTextInput"
android:layout_below="@+id/ClearPlainTextInput"
android:text="Assign Number Input to Plain Text Input" />
<!-- Button to show plain text input -->
<Button
android:id="@+id/ShowPlainTextInput"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/AssignToPlainTextInput"
android:layout_below="@+id/AssignToPlainTextInput"
android:text="Show Plain Text Input" />
</RelativeLayout>
</ScrollView>
</RelativeLayout>
4.0 Download Source Code
You can get the source code by following the whole, well detailed and free tutorial above. But isn’t it more convenient if you can just download the complete source code we used, and play around it?
There’s a small fee in getting the complete source code, it is small compared to the:
| ✔ Value or skill upgrade it can bring you, or | YES |
| ✔ Income you can get from your website project or business. | YES |
| ✔ Precious time you save. | YES |
Thanks a lot for your support and thanks for reading our Android EditText Example codes!











9 responses to “12+ EditText in Android Example Codes, Screenshots and More!”
Little long but really very helpful information I have seen here. And it will help to many other people.
Can this be enabled on a web page which uses a form?
Hi @frontendengineer, nope, maybe you can use android webview for that. here is an example.
I like to see the publish about Android operating system modify written text example with outcome.which can be employed to us and clear and understandable.
I’m trying to follow your example, but something is happening slightly different. When my keyboard comes up, the entire view is pinched to fit the keyboard underneath it.
How can I make the keyboard come up and over the existing view?
@Andrew: Can you give us a screenshot?
pleas eprovide code to add a scrollbar dyanamically to a edittext.
pleas provide working code
Hi, I have implemented the code in Android Studio 1.5 but, to avoid all the warnings and errors reported by the IDE, I had to change as shown in the attached image. Thanks for the post. Greetings Maurizio Rome
Hello @maurizioaccica:disqus, thanks for sharing your solution, we appreciate it!