2012-04-05 40 views
7

bạn bè. Tôi đang có một vấn đề thực sự ngớ ngẩn với radiogroup. Nhưng tôi không thể tìm ra giải pháp.kiểm tra nút radio android sau khi xóa vấn đề kiểm tra

Tôi sẽ cố gắng mô tả cách tái tạo sự cố của mình: Tôi có nhóm radio và hai nút bên trong. Tôi chọn một trong số họ, cho phép nói câu hỏi thứ nhất. Sau đó, tôi xóa lựa chọn bằng cách gọi radioGroup.clearCheck() Sau khi tôi đang cố gắng chọn nút đầu tiên, nhưng không kiểm tra. Nếu tôi kiểm tra thứ 2, nó sẽ kiểm tra bình thường. Nếu tôi kiểm tra 1 sau khi kiểm tra 2 nó cũng hoạt động bình thường.

Điều này nghe có vẻ điên rồ, nhưng tôi không thể khắc phục. Xin hãy giúp tôi, cảm ơn trước.

tôi sử dụng

@Override 
protected void init() { 
    View view = View 
      .inflate(getContext(), R.layout.wo_task_yn_result, null); 

    performed = (RadioButton) view.findViewById(R.id.yn_yes); 
    notPerformed = (RadioButton) view.findViewById(R.id.yn_no); 

    radioGroup = (RadioGroup) view.findViewById(R.id.yn_options); 

    performed.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(final CompoundButton buttonView, 
       final boolean isChecked) { 
      Log.d(YES, "verify"); 
      if (isChecked) { 
       Log.d(YES, "checked"); 
       result = YES; 
      } 
     } 
    }); 

    notPerformed.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

     @Override 
     public void onCheckedChanged(final CompoundButton buttonView, 
       final boolean isChecked) { 
      Log.d(NO, "verify"); 
      if (isChecked) { 
       Log.d(NO, "checked"); 
       result = NO; 
      } 
     } 
    }); 

    addView(view); 
} 

Để tạo nút và

@Override 
public void clear() { 
    radioGroup.clearCheck(); 

    result = ""; 
} 

cho thanh toán bù trừ chúng

+0

nó sẽ là tốt nhất nếu bạn hiển thị mã cho các nút – Akhil

+0

Ok, tôi đã cập nhật các câu hỏi của mình. Hy vọng mã này là đủ. – Orest

+0

Nevermind, tôi tìm thấy giải pháp. – Orest

Trả lời

0

nếu u muốn bỏ chọn nút radio thử phương pháp này:

@Override 
public void clear() { 

performed.setChecked(false); 

nonperformed.setChecked(false); 

} 
16

tôi đã cùng một vấn đề. Không thể chọn radioButton đầu tiên trong nhóm, nhưng có thể chọn hai kênh kia. Và sau khi chọn radioButton thứ hai, tôi cũng có thể chọn cái đầu tiên. Tôi giải quyết nó bằng cách thực hiện một radioGroup.clearCheck() thay vì radioButtonA.setChecked (false) riêng lẻ

+0

Tôi đã sử dụng radioGroup.removeAllViews() để xóa tất cả chế độ xem. Tôi cũng nghĩ rằng tất cả các mục đã chọn sẽ rõ ràng. Nhưng nó không hoạt động. Nhưng radioGroup.clearCheck() hoạt động như một nét duyên dáng. Cảm ơn rất nhiều –

Các vấn đề liên quan