2010-10-27 12 views
22

Nếu tôi đặt nút radio lần đầu tiên, nó hoạt động tốt. Nhưng nếu tôi bỏ chọn nó bằng cách gọi ((RadioButton) findViewById (R.id.ID)). SetChecked (false); sau đó, sau đó ngay cả khi tôi cố gắng làm cho nó được chọn bằng cách gọi setChecked (true) sẽ không hoạt động trừ khi người dùng chọn nó từ màn hình.Android RadioButton không thể bỏ đặt bằng phương thức setChecked (false)

Có ai gặp phải điều này không? hay chỉ là tôi?

 if(Val != null){ 
     if(((RadioButton) findViewById(R.id.ID1)).getText().toString().trim().equals(Val)) 
     ((RadioButton) findViewById(R.id.ID1)).setChecked(true); 
     else if(((RadioButton) findViewById(R.id.ID2)).getText().toString().trim().equals(Val)) 
     ((RadioButton) findViewById(R.id.ID2)).setChecked(true); 
     } 
     else { 
      ((RadioButton) findViewById(R.id.ID1)).setChecked(false); 
      ((RadioButton) findViewById(R.id.ID2)).setChecked(false); 
     } 

Nếu phần khác được thực hiện ít nhất một lần thì mọi thứ trở nên rối tung lên. Khi tôi bước qua trình gỡ lỗi của mình, tôi có thể thấy việc thực hiện đi đúng đường dẫn và đặt nó thành true. Nó chỉ được thực hiện một lần, tôi đã kiểm tra điều đó. Và tôi không đặt lại nó thành false trong bất kỳ phần nào khác của mã.

+0

Chúng tôi có thể xem mã nguồn của bạn không? – ykatchou

+0

Tôi đã thử android này: saveEnabled = "false", sau khi đi qua http://groups.google.com/group/android-developers/browse_thread/thread/8ad42efded222543, nhưng điều đó đã không giúp tôi. Wow ít nhất tôi không cô đơn ... – franklins

+1

có vấn đề tương tự và trong khi bố trí của tôi là Image - Văn bản - Kiểm tra Image - Văn bản - Kiểm tra tôi không thể làm chỉ có một RadioGroup ... i thấy rằng nó là một 'lỗi' khi tôi không thể thiết lập Radio với setChecked (false) những gì các nhà phát triển android phải làm unfix. Cảm ơn thông tin của bạn, hãy thử ... –

Trả lời

48

Tôi đã tìm thấy giải pháp.

Không thể bỏ chọn một nút radio cụ thể. Bạn chỉ có thể đặt mục khác thành true.

Vì vậy, để xóa tất cả các mục được chọn, bạn nên gọi phương thức clearcheck() trên RadioGroup.

Vì vậy, một phần khác của tôi là

 else { 
      ((RadioGroup) findViewById(R.id.ID0)).clearCheck(); 
     } 
+0

Chính xác những gì tôi cần! Đôi khi nó thực sự lộn xộn với các nút radio. Cảm ơn! –

+0

Hoặc trong trường hợp của tôi nó đã rõ ràng hơn khi tôi đã tắt RadioGroup và chơi với hai RadioButtons. – samutamm

+0

Điều này đã giải quyết được vấn đề của tôi. Tôi đã cố gắng kiểm tra lại nút radio đã kiểm tra đã làm cho nó không được kiểm soát trong giao diện người dùng. – W00di

2

Đi một nút radio vô hình và kiểm tra xem nó. Tất cả các nút radio khác của nhóm sẽ không được chọn tự động ..