[Andoird] Tìm hiểu Handle events trong Android
Đăng bởi: Admin | Lượt xem: 1716 | Chuyên mục: Android
Event là cách mà để xử lý các tương tác của người dùng với các thành phần tương tác của ứng dụng. Ví dụ như nhấn vào button, nhập vào textview,... Trong bài viết này cũng mình tìm hiểu về Events trong android .
Events Listeners
Event cấp cao
- Event cấp cao chỉ xảy ra trong các widget cụ thể. Tuy nhiên, loại sự kiện này có thể không xuất hiện trên các loại widget khác như nút bấm
- Một interface được định nghĩa là listener cho một sự kiện cấp cao thường được lồng vào chính class cho widget tương ứng của nó.
- Hầu hết các Events Listeners xác định một lớp cho trình xử lý sự kiện.
Package/Class | Nested Interface | Method |
---|---|---|
android.widget.TextView | OnEditorActionListener | onEditorAction |
android.widget.CompoundButton | OnCheckedChangeListener | onCheckedChanged |
android.widget.RadioButton | OnCheckedChangedListener | onCheckedChanged |
android.widget.Adapter | OnItemSelectedListener | onItemSelected, onNothingSelected |
android.widget.SeekBar | OnSeekBarChangeListener | onProgressChanged, onStartTrackingTouch, onStopTrackingTouch |
Event cấp thấp
- Event cấp thấp xảy ra cho tất cả các widget. Event listener cần được lồng trong lớp View.
- Bên cạnh việc click thì cũng có thể long click (ấn giữ 1 lúc).
Package/Class | Nested Interface | Method |
---|---|---|
android.view.View | OnClickListener, OnLongClickListener, OnKeyListener, OnFocusChangeListener, OnTouchListener | onClick, onLongClick, onKey, onFocus, onTouch |
Các kỹ thuật xử lý event
Class hiện tại như là listener
- Ví dụ đầu tiên cho thấy cách xử lý event Click cho hai nút bằng cách sử dụng lớp hiện tại như một listener. Code này sử dụng lớp (lớp TipCalculatorActivity) để triển khai phương thức onClick đã định nghĩa bởi interface OnClick. Sau đó, nó kết nối listener với hai nút. Để làm điều đó, nó sử dụng từ khóa được đặt tên để xác định lớp hiện tại là listener.
VD: ta khai báo bên giao diện như sau:
Sau đó bên class activity ta viết hàm division và có thể xử lý được sự kiện onClick
public void division(View view) {
// todo some thing
}
Sử dụng class hiện tại làm listener
- Bước 1: import interface cho event listener
- Bước 2: Sử dụng class hiện tại implement interface cho listener, sau đó xử lý sự kiện trong phương thức override
- Bước 3: set listener cho widget tương ứng.
VD:
Class được đặt tên là listener
- Bước 1: Tạo một class implement interface của listener, override các phương thức(xử lý sự kiện).
- Bước 2: Khai báo và khởi tạo class ở trên.
- Bước 3: set listener cho các widget với tham số truyền vào là class vừa được khởi tạo ở trên.(cách này ít được dùng)
Tạo Class ẩn danh như là listener
- Tương tự như cách số 3, tuy nhiên ở đây không tạo class mà sẽ tạo một biến, rồi cho biến đó implement các interface listerner tương ứng, cài đặt, xử lý sự kiện trong biến đó. Sau đó set sự kiện cho các widget với tham số truyền vào là biến được implement ở trên.
Tạo ẩn danh bên trong Class như là listener
- Ở đây không tạo biến nào cả. biến nào muốn set sự kiện listener thì chỗ truyền tham số ta sẽ khởi tạo luôn một interface listener ở đó và thực hiện xử lý sự kiện qua hàm cài đè ở đó luôn.
Xử lý event cấp cao
Checkbox
- Khởi tạo 1 Checkbox là cb và có thể xử lý sự kiện thay đổi lựa chọn check box như sau :
RadioGroup
- Khởi tạo một radioGroup, và các radioButton bên trong, có chứa ID, và có thể xử lý sự kiện như sau:
Seekbar
Spinner
xử lý event cấp thấp
onClick
longClick
Theo:
https://viblo.asia
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
Bài viết mới
Hướng dẫn xây dựng ứng dụng sử dụng API vân tay (FINGERPRINT API) để đăng nhập, đăng ký người dùng trong Android (P2)
Hướng dẫn xây dựng ứng dụng sử dụng API vân tay (FINGERPRINT API) để đăng nhập, đăng ký người dùng trong Android (P1)
Chuyên mục khác
Được xem nhiều nhất
Chuyên mục: Android
[Android] Xây dựng biểu đồ trong ứng dụng Android bằng thư viện MPAndr...
05/03/2020
| Lượt xem: 7518
Bổ sung tính năng Item Click cho RecyclerView trong Android
09/04/2020
| Lượt xem: 7454
[Android] Tìm hiểu về Internal Storage, External Storage và Scoped Sto...
16/04/2020
| Lượt xem: 6863
[Android] 30 câu hỏi phỏng vấn Android kinh điển
22/03/2020
| Lượt xem: 6596
Cách xây dựng ứng dụng trình phát nhạc đơn giản bằng Android Studio
01/08/2020
| Lượt xem: 6438
Khóa học liên quan
Khóa học: Android