Tuesday 28 July 2015

Kotak Teks Android (Android TextBox)

fanxtea.blogspot.com

Kotak Teks Android (Android TextBox)

By Fanxtea | 1 Januari 2015



Dalam Android, kamu boleh menggunakan kelas "EditText" untuk membina satu textbox yang boleh disunting untuk menerima input daripada user. Jika hanya untuk memaparkan input tanpa perlu user untuk ubah, kelas "TextView" perlu digunakan.

Tutorial ini menunjukkan kepada anda bagaimana untuk mewujudkan satu textbox dalam fail XML, dan menggunakan listener untuk memaparkan mesej yang telah ditaip didalam textbox.

  1. EditText
  2. Buka fail "res/layout/activity_main.xml" dan tambahkan satu komponen editText.

    Fail: res/layout/activity_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" > </EditText> </LinearLayout>

    Nota: Untuk mengubah kaedah input, anda harus mengistiharkan kaedah input yang sesuai untuk textbox berkenaan dengan menambah "android:inputType" kepada unsur yang diinginkan.

    Senarai input yang boleh digunakan:
    1. "text" - Teks biasa
    2. "textEmailAddress" - Teks biasa dengan @ character
    3. "textUri" - Text biasa dengan "/" character
    4. "number" - Nombor keypad telefon
    5. "phone" - Keypad telefon

    P/s: rujuk EditText dan TextField untuk info lebih lanjut

  3. EditText Listener
  4. Hidupkan fungsi listener di dalam aktiviti "onCreate()" , untuk memantau events yang berikut:
    1. Jika "enter" ditekan, mesej popup akan memaparkan mesej yang ditaip didalam kotak "EditText".
    2. Jika nombor 9 ditekan, mesej popup akan memaparkan mesej "Nombor 9 ditekan!".

    Fail: MainActivity.java

    package com.fanxtea.helloworld; 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 MyActivity extends Activity { private EditText edittext; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_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(MyActivity.this, "Nombor 9 ditekan!", Toast.LENGTH_LONG).show(); return true; } return false; } }); } }

  5. Demo
  6. Run aplikasi.

    1) Taip sesuatu didalam textbox dan tekan butang "Enter"

    2) Tekan butang "Nombor 9"