Hướng dẫn bắt sự kiện trong android

0
135

Ở bài trước tôi đã giới thiệu với các bạn một số control cơ bản, bài hôm nay tôi sẽ hướng dẫn các bạn cách bắt sự kiện trong android, chủ yếu là sự kiện click. Để bắt sự kiện click các bạn có rất nhiều cách, tôi chỉ hướng dẫn các bạn những cách thông dụng nhất thôi. Tôi sẽ demo trên button cho các bạn dễ hiểu, các control khác cũng tương tự nhé. Tôi dùng luôn bài mà tôi hướng dẫn các bạn làm layout hôm trước để demo bạn nào chưa xem có thể xem lại tại đây.

1. Bắt sự kiện bằng Onclick trong XML

Cách dùng này khá phổ biến nhưng không phải tối ưu nhất khi ta bắt sự kiện cho nhiều control. Các bạn có thể tham khảo file XML của mình.

Onclick
Onclick

Ở phần Design, các bạn chọn vào button mình cần bắt sự kiện, kéo xuống phần properties các bạn tìm onClick và viết tên hàm bắt sự kiện của mình vào đó. Hoặc các bạn có thể viết luôn vào phần XML như hình bên dưới.

a2
Onclick

Sau khi các bạn đã khai báo xong, các bạn vào MainActivity để viết hàm bắt sự kiện.

Onclick
Onclick

Phần 1, 2: Các bạn khai báo các control cần dùng, ở layout tôi thiết kế thêm 1 textview để hiển thị User và pass khi bạn click nút đăng nhập.

Phần 3: Các bạn tạo hàm click giống như hàm các bạn tạo bên XML và ở đây tôi sẽ xuất ra thông tin đăng nhập.

Các bạn hãy xem kết quả nhé.

Onclick
Onclick

2. Bắt sự kiện bằng Activity is listener:

Đây có lẽ là cách mà nhiều lập trình viên dùng nhất, nó khá tiện cho việc quản lí code. Activity sẽimplements interface của sự kiện, có rất nhiều loại sự kiện, tùy từng control mà các bạn chọn loại sự kiện cho phù hợp. Ở đây mình dùng View.OnClickListener dùng cho button. Các bạn có thể dùng chung hàm onClick cho nhiều button khác nhau.

Onclick
Onclick

Khi implements interface View.OnClickListener, sẽ Override hàm onClick, tại đây các bạn viết hàm mình muốn thực hiện.

Lưu ý btnLogin.setOnClickListener(this) chính là đoạn để button nhận được hàm click. Và đây là kết quả thu được.

Onclick
Onclick

Xem thêm: Bộ tài liệu học lập trình android cơ bản

3. Bắt sự kiện bằng Inline anonymous listener

Vẫn dùng ví dụ trên, bạn hãy để ý đoạn btnLogin.setOnClickListener(this) thay vì cái this nó sẽ hiểu hàm onClick Override từ interface sự kiện, ta sẽ khai báo luôn sự kiện bằng cách new sự kiện mình muốn. Bản chất thì vẫn là Override hàm onClick, cách này dùng thì khá là nhanh nhưng sẽ làm code dài và khó kiểm soát khi có nhiều control.

a5
OnClick

Và kết quả chúng ta thu được

OnClick
OnClick

 4. Bắt sự kiện bằng cách Listener in variable:

Với cách dùng này ta có thể chia sẻ hàm onClick cho nhiều button, ta khai báo một hàm myClick() có kiểu là OnClickListener. Trong hàm myClick() chúng ta sẽ bắt sự kiện. Tôi sẽ tạo thêm 1 button có chức năng clear 2 edittext và textview.

OnClick
OnClick

Kết quả khi ta chạy ứng dụng

OnClick
OnClick

Tìm hiểu thêm: Tài liệu khoa hoc lap trinh php

5. Bắt sự kiện bằng Explicit listener class:

Cách này chúng ta sẽ tách các hàm sự kiện trong các class riêng, nó giúp cho việc quản lí code dễ dàng hơn. Các bạn có thể tham khảo ảnh dưới

a7
Onclick

Kết quả khi chúng ta chạy chương trình nó vẫn như ở trên. Vừa rồi mình giới thiệu 5 cách bắt sự kiện mà chúng ta hay sử dụng nhất, mình thì hay dùng cách thứ 2 nhất. Chúc các bạn thành công!

 

http://laptrinhandroid.vn/huong-dan-bat-su-kien-trong-android/

Gửi phản hồi

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.