Tiếp theo bài về Button trong android, ở bài này mình giới thiệu tới các bạn một control mới là EditText.
EditText là công cụ cho phép người dùng có thể nhập vào một văn bản từ bàn phím. Bây giờ chúng ta sẽ đi viết ứng dụng hiển thị một Edittext và một button, khi người dùng nhập chữ vào edittext sau đó ấn nút ok thì Textview sẽ hiện ra dòng chữ “Bạn vừa nhập chữ:…” như hình dưới đây.
Control EditText cũng giống TextView và được hoạt động thông qua một số thuộc tính cơ bản sau đây: – setText(String s): phương thức dùng để đưa một xâu hiển thị trên EditText – getText(): trả về một xâu tuy nhiên để lấy xâu này ở dạng String thì nên sử dụng phương thức toString như sau: text.getText().toString(); – setEnabled(boolean): nếu đối truyền vào là true thì nó cho phép hiện text bình thường nhưng người dùng không thể nhập các kí tự vào đó. Nếu đối vào là false (chế độ mặc định) thì nó hoạt động như bình thường tức là cho phép người dùng nhập vào các kí tự.
Mã nguồn thực hiện như sau:
package opin.demo.helloworld; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { private TextView text; private Button button; private EditText edit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Liên kết link edit = (EditText) findViewById(R.id.edittext); text = (TextView) findViewById(R.id.textview); button = (Button) findViewById(R.id.button); // Đặt một dòng chữ hiển thị đầu tiên lên EditText edit.setText(“Nhập tên của bạn vào đây”); // Bắt sự kiện khi ấn vào button button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // Phương thức getText().toString trả về một xâu với nội dung là xâu hiện có của EditText text.setText(“Bạn vừa nhập vào dòng chữ:n” + edit.getText().toString()); } } ); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
Còn đây là code của file giao diện:
<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_height=”wrap_content” android:layout_width=”fill_parent” /> <Button android:id=”@+id/button” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:layout_gravity=”center_horizontal” android:text=”OK” /> <TextView android:id=”@+id/textview” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:text=”Large Text” android:textAppearance=”?android:attr/textAppearanceLarge” /> </LinearLayout>