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 :- If “enter” is pressed , display a floating box with the message typed in the “EditText” box.
- 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 :
2. If key “Number 9″ is pressed :
Download Source Code
Download it – Android-EditText-Example.zip (15 KB)
No comments:
Post a Comment