Saturday, 22 September 2012

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.

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.abhi.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 :


This is sample TextBox with a Toast Message.

OraNgE.

No comments:

Post a Comment