Kotak Teks Android (Android TextBox)
By Fanxtea | 1 Januari 2015Dalam 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.
- EditText Buka fail "res/layout/activity_main.xml" dan tambahkan satu komponen editText.
- "text" - Teks biasa
- "textEmailAddress" - Teks biasa dengan @ character
- "textUri" - Text biasa dengan "/" character
- "number" - Nombor keypad telefon
- "phone" - Keypad telefon
- EditText Listener Hidupkan fungsi listener di dalam aktiviti "onCreate()" , untuk memantau events yang berikut:
- Jika "enter" ditekan, mesej popup akan memaparkan mesej yang ditaip didalam kotak "EditText".
- Jika nombor 9 ditekan, mesej popup akan memaparkan mesej "Nombor 9 ditekan!".
- Demo Run aplikasi.
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:
P/s: rujuk EditText dan TextField untuk info lebih lanjut
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;
}
});
}
}
1) Taip sesuatu didalam textbox dan tekan butang "Enter"
2) Tekan butang "Nombor 9"