Android textbox example

In Android, you can use “EditText” class to create an editable textbox to accept user input.

This tutorial show you how to create a textbox in XML file, and demonstrates the use of key listener to display message typed in the textbox.

P.S This project is developed in Eclipse, and tested with Android 2.3.3.

1. EditText

Open “res/layout/main.xml” file, add a “EditText” component.

File : res/layout/main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <requestFocus />

    </EditText>

</LinearLayout>

2. EditText Listener

Attach a key listener inside your activity “onCreate()” method, to monitor following events :

  1. If “enter” is pressed , display a floating box with the message typed in the “EditText” box.
  2. If “Number 9” is pressed, display a floating box with message “Number 9 is pressed!”.

File : MyAndroidAppActivity.java


package com.mkyong.android;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.EditText;
import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

 private EditText edittext;

 @Override
 public void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);

	addKeyListener();
 }

 public void addKeyListener() {

	// get edittext component
	edittext = (EditText) findViewById(R.id.editText);

	// add a keylistener to keep track user input
	edittext.setOnKeyListener(new OnKeyListener() {
	public boolean onKey(View v, int keyCode, KeyEvent event) {

		// if keydown and "enter" is pressed
		if ((event.getAction() == KeyEvent.ACTION_DOWN)
			&& (keyCode == KeyEvent.KEYCODE_ENTER)) {

			// display a floating message
			Toast.makeText(MyAndroidAppActivity.this,
				edittext.getText(), Toast.LENGTH_LONG).show();
			return true;
					
		} else if ((event.getAction() == KeyEvent.ACTION_DOWN)
			&& (keyCode == KeyEvent.KEYCODE_9)) {

			// display a floating message
			Toast.makeText(MyAndroidAppActivity.this,
				"Number 9 is pressed!", Toast.LENGTH_LONG).show();
			return true;
		}

		return false;
	}
 });
}
}

3. Demo

Run the application.

1. Type something inside the textbox, and press on the “enter” key :

android textbox demo1

2. If key “Number 9” is pressed :

android textbox demo2

Download Source Code

Download it – Android-EditText-Example.zip (15 KB)

References

  1. Android EditText JavaDoc
  2. Android EditText example

23 comments on “Android textbox example

  1. I got so much information from this post. this is basic and should be in our knowledge. thanks for sharing it with us. because we do not want to know about anything until we didn’t get its initial information.

    Reply
  2. when i enter the text then focus goes to tab…

    Reply
  3. how to add comment box in android just like fb comment box…

    Reply
  4. no error is generated but a floating box is not displayed when i press enter

    Reply
  5. your alertdialog box example not working it throws exception java.lang.nullpointer exception. please give a running example

    Reply
  6. sir i tried to create a simple text box in ADT as you show in your examples but you change in res/layout/main.xml file its occur problem to me. If you have any video than send me at amy mail id. It is [email protected]
    Thanks

    Reply
  7. i got the same problem when i pressed 9 the output was not as I expected

    Reply
  8. ???
    Can’t get the “Number 9 is pressed!” functionality working. It doesn’t show the toast when only 9 is pressed…

    Android 4.2.2

    Reply
  9. Hi, I have trouble with EditText. I want to set default value to 0 (integer/digits value)while declearing EditText in xml file. Can any one help me

    Reply
  10. Can’t get the “Number 9 is pressed!” functionality working. It doesn’t show the toast when only 9 is pressed…

    Reply
  11. hello,

    I’ve just started learning adroid development. Could you please tell me if there is a way of adding something like a normal fixed text in an activity because I couldn’t find any relevant answer to this doubt of mine yet.

    Thanks in advance! 🙂

    Reply
  12. setContentView(R.layout.main)

    in line main function show warning error.

    Reply
  13. cant getKeyChar() function help to improvise the code……

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *