điều gì sẽ là cách nhận và gửi đúng sự kiện khi bật hoặc tắt một hộp kiểm. Trong C# tôi chỉ có thể dễ dàng nhấp đúp chuột và tất cả các mã sẽ được thực hiện cho tôi. nhưng trong Android nó có vẻ hơi mơ hồ hơn một chút. tôi nghĩ đến việc sử dụng trình xử lý sự kiện cảm ứng nhưng sau đó nếu người dùng có bàn phím, nó sẽ không phát hiện thay đổi vì nó không chạm vào. Tôi hình android nên có một sự kiện bản địa để thay đổi trạng thái hộp kiểm.Làm cách nào để nhận thay đổi kiểm tra sự kiện trên hộp kiểm android?
37
A
Trả lời
118
CheckBox repeatChkBx = (CheckBox) findViewById(R.id.repeat_checkbox);
repeatChkBx.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if (isChecked)
{
// perform logic
}
}
});
4
Kể từ CheckBox (cuối cùng) mở rộng View, bạn có thể sử dụng một OnClickListener tiêu chuẩn để phát hiện khi CheckBox là thực sự khai thác bởi người sử dụng (như trái ngược với các bản cập nhật ListView):
CheckBox repeatChkBx = (CheckBox) findViewById(R.id.repeat_checkbox);
repeatChkBx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (((CheckBox)v).isChecked()) {
// perform logic
}
}
});
0
Hãy thử điều này
CheckBox checkbox=(CheckBox)findViewById(R.id.checkbox);
checkbox.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (checkbox.isChecked())
{
//Perform action when you touch on checkbox and it change to selected state
}
else
{
//Perform action when you touch on checkbox and it change to unselected state
}
}
});
Các vấn đề liên quan
- 1. Sự kiện thay đổi kích hoạt jquery trên hộp kiểm
- 2. cách thay đổi hình ảnh kiểm tra trên hộp kiểm
- 3. Bắt sự kiện thay đổi đã kiểm tra của hộp kiểm
- 4. Cần sự kiện thay đổi hộp kiểm để phản hồi thay đổi trạng thái đã kiểm tra được lập trình
- 5. Thuộc tính kiểm tra hộp kiểm Ngọc không được kiểm soát dựa trên điều kiện (nếu)
- 6. Kiểm tra sự kiện socket.io
- 7. jQuery/Javascript: Nhấp vào sự kiện trên một hộp kiểm và 'kiểm tra' thuộc tính
- 8. Sự cố trong sự kiện Đã kiểm tra sự kiện
- 9. Làm cách nào để bạn kiểm tra/thay đổi mã chưa được kiểm tra và không thể kiểm tra?
- 10. Bootstrap chuyển sự kiện đã kiểm tra?
- 11. Làm cách nào để kiểm tra hộp kiểm dựa trên giá trị?
- 12. Có cách nào để ngăn Hộp kiểm WPF kích hoạt sự kiện Đã kiểm tra của nó không?
- 13. FDF - cách kiểm tra hộp kiểm?
- 14. Android Bấm vào danh sáchMục kiểm tra hộp kiểm sai
- 15. Làm thế nào để kiểm tra trạng thái của đối tượng sự kiện mà không thực sự thay đổi nó?
- 16. jQuery khác biệt giữa sự thay đổi và nhấp vào sự kiện của hộp kiểm
- 17. Sự kiện thay đổi hộp kiểm Knockout gửi giá trị cũ
- 18. jquery nhận được hộp kiểm tra
- 19. Nhận Hộp kiểm được Kiểm tra Mặc định trong CQ5
- 20. Kiểm tra nếu hộp kiểm đã được kiểm tra trên tải sử dụng jQuery
- 21. Làm cách nào để xử lý thay đổi của hộp kiểm bằng cách sử dụng jQuery?
- 22. Backbone.js - Cách tốt nhất để kiểm tra hộp kiểm
- 23. Làm cách nào để thay đổi kích thước hoặc màu của hộp kiểm xoay vòng?
- 24. Kiểm tra đơn vị sự kiện COM?
- 25. Làm cách nào để kiểm tra AlertDialog trong Android?
- 26. Android 4 Sự cố kiểm tra lượt truy cập Chrome trên sự kiện chạm sau khi chuyển đổi CSS
- 27. Làm cách nào để biết một hộp kiểm có thực sự được nhấp không?
- 28. Tôi làm cách nào để kiểm tra Hoạt động trên Android hoạt động trên Accelerometer?
- 29. Android kiểu hộp kiểm
- 30. Sự khác nhau giữa .click và .change trên hộp kiểm
Trong khi đây là câu trả lời đúng, tôi tò mò phương pháp tốt nhất khi hộp kiểm nằm trong mục ListView và onCheckedChange được gọi mỗi khi người dùng cuộn qua nó. Bất kỳ cách nào để phân biệt khi nó được bắt đầu bởi người dùng và cập nhật listview? – rmooney
^nhận xét này của @Rmooney là GOLD! Tôi đã có một vấn đề với bộ chuyển đổi RecyclerView và mỗi khi tôi cuộn nó đã đi điên gọi nhiều hơn một lần! Cảm ơn! –
Trong bộ điều hợp, khi bạn đặt checkchange cho người giữ cụ thể đó. Trước tiên hãy xóa trình nghe, thay đổi giá trị, sau đó readd người nghe. Các hộp kiểm tự buộc gọi người nghe để bạn phải loại bỏ nó để đặt giá trị mà không có nó kích hoạt. – Tatarize