2013-08-23 52 views
5

Có thể thực hiện -subject-? Ngay bây giờ nếu tôi đặt checkboxInstance.setEnabled(false); hộp kiểm sẽ nhận được "đồ họa bị tắt" của nó, chuyển sang màu xám và minh bạch hơn. Những gì tôi đang cố gắng làm là chính xác như nhau, nhưng tôi cần phải giữ cho hộp kiểm đang hoạt động.Android: Vô hiệu hóa các hộp kiểm không có thay đổi đồ họa?

Lý do cho điều này là tôi có onClickListener trên phần tử gốc. Điều đó hoạt động ổn nhưng có vẻ như khi hộp kiểm được chạm vào, hộp kiểm được bỏ/kiểm tra mà không cần tắt người nghe của phụ huynh (và tất nhiên tôi muốn bắn luôn).

Cảm ơn!

EDIT: Về cơ bản tôi đang tìm kiếm một cái gì đó như thế này (mã trong AS3, tất nhiên không có đồ họa vì vậy nó sẽ không thực sự làm việc ... nhưng chỉ là lý thuyết):

var s:Sprite = new Sprite(); 
var cb:Sprite = new Sprite(); //let's assume this is a checkbox 

s.addChild(cb); //cb is inside of the s 
addChild(s); //s is added to the display list 

s.mouseChildren = false; 
s.addEventListener(MouseEvent.CLICK, fireClick); 

//cb could have a mouse listener as well, nothing would happen as s.mouseChildren is set to false 
+0

Tôi không quá nhiều vào Android, nhưng tôi nghĩ bạn có thể viết chế độ xem tùy chỉnh mở rộng từ hộp kiểm và ghi đè sự kiện onClick để không thay đổi trạng thái của bong bóng, mà thay vào đó hãy chuyển sang trạng thái gốc 'performClick' trên đó). –

Trả lời

11

Gosh, dễ dàng như vậy ... setClickable(false) hoặc android:clickable="false". Đó là nó.

1

Vâng, điều đó là có thể. Khi người dùng thay đổi trạng thái của hộp kiểm mà gọi mã:

yourcheckbox.setChecked(true); 

hoặc

yourcheckbox.setChecked(false);