Android Event Handling Example

 Chắc chắn những ai mới bắt đầu lập trình android đều tìm hiểu cách, làm sao để có thể bắt sự kiện khi chạm vào màn hình để thực hiện một công việc gì đó. Ví dụ như nhấn vào một Button chẳng hạn. Vậy thì trong bài viết này hãy cùng mình tìm hiểu về cách bắt sự kiện trong lập trình Android nhé!

- Trong lập trình android sẽ có 3 cách để bắt một sự kiện.
* Bắt sự kiện trực tiếp qua Button.
Bắt sự kiện qua implements View.OnClickListener.
Bắt sự kiện trực tiếp từ xml.

Zô luôn từng cách nha ae.

1. Bắt sự kiện trực tiếp qua Button.
- Đầu tiên mình sẽ tạo một Button trong file layout.

Ở đây mình sẽ đặt id của button là button để có thể ánh xạ vào file java. Trong file java chúng ta sẽ tạo 1 biến Button buttonClick để ánh xạ với button ta đã tạo ở file xml như sau:

Để bắt sự kiện cho buttonClick ta dùng hàm setOnClickListener() và truyền vào một đối tượng là View.onClickListener.
Trong đối tượng OnClickListener ta sẽ có hàm override onClick() hàm này sẽ có nhiệm vụ bắt sự kiện khi chúng ta click vào và thực thi lệnh ở bên trong. Ở đây mình sẽ in ra một dòng chữ lên màn hình khi mình click vào bằng dòng lệnh:

   Toast.makeText(MainActivity.this, "Bạn đã click", Toast.LENGTH_SHORT).show();

Các đối tượng truyền vào là: context, nội dung bạn muốn xuất hiện và thời gian xuất hiện (ở đây mình để LENGTH_SHORT) cuối cùng là để hiển thị thì dùng hàm .show(); 

Như vậy khi click vào button thì dòng chữ “Bạn đã click” sẽ hiện lên màn hình :

2. Bắt sự kiện qua implements View.OnClickListener.

Cách này cũng tương tự như cách 1. Tuy nhiên chúng ta sẽ implements View.OnClickListener trước để gọi override luôn cái thằng hàm onClick()

Sau khi implements chúng ta sẽ phải override hàm onClick để bắt sự kiện.

Khi override hàm onClick, trong hàm sẽ trả về cho ta một đối tượng View. Ở đây ta sẽ dựa vào nó để tìm sự kiện. Mình sẽ lấy một biến nguyên id = v.getId() để lấy id sự kiện. Do có thể có rất nhiều id sự kiện trong màn hình vì vậy mình sẽ sử dụng switch case để quản lý, các bạn có thể thêm vài case khác cho những sự kiện khác. Và mình bắt case có id == R.id.button và làm hành động hiển thị lên màn hình dòng chữ “Bạn đã click” như cách 1.

Và cuối cùng thêm dòng lệnh buttonClick.setOnClickListener(this);
Vậy là xong rồi

3. Bắt sự kiện trực tiếp từ xml.

Cách này khá dễ bạn hãy thêm sự kiện trong file xml như sau:

Sau khi tạo sự kiện dòng onClick sẽ báo đỏ. Bạn chỉ cần giữ alt+enter rồi tạo hàm click(View view) trong hàm main, hoặc tự viết vào trong main cũng được, như thế này:

Cách này rất dễ nhưng mình khuyên không nên dùng. 


Vừa rồi là 3 cách để có thể bắt sự kiện trong android. Bài viết của mình xin kết thúc, cảm ơn các bạn đã theo dõi.

Author: Phan Văn Khải


Previous Post
Next Post

post written by:

0 Comment: