xml 레이아웃에서 RadioGroup, Button1, Button2가 있습니다. . 사용자가 button1을 클릭하면 여러 개의 라디오 버튼은 프로그래밍 (pocet이 = 라디오 버튼의 개수가 생성되는) 라디오 버튼 항목을 프로그래밍 방식으로 제거하는 방법
final RadioButton[] rb = new RadioButton[pocet];
RadioGroup rg = (RadioGroup) findViewById(R.id.MyRadioGroup);
radiobuttonCount++;
for(int i=0; i<pocet; i++){
rb[i] = new RadioButton(this);
rb[i].setText("Radio Button " + radiobuttonCount);
rb[i].setId(radiobuttonCount+i);
rb[i].setBackgroundResource(R.drawable.button_green);
rg.addView(rb[i]);
}
는 내가 뭘하려고하는 것은 이것이다 다를 수 있습니다을 radioGroup (라디오 버튼의 총량에 만들어집니다 때 . 사용자가 내가 텍스트 뷰의 모든 라디오 버튼을 제거하기 위해 선택한 값을 전달할 것,을 radioGroup에서 XY 항목을 선택
목적을 삭제하려면 내가 사용
public void onCheckedChanged(RadioGroup rGroup, int checkedId)
{
RadioButton checkedRadioButton = (RadioButton)rGroup.findViewById(checkedId);
boolean isChecked = checkedRadioButton.isChecked();
if (isChecked)
{
RadioGroup rg = (RadioGroup) findViewById(R.id.MyRadioGroup);
for (int i=0; i< rg.getChildCount(); i++){
rg.removeViewAt(i);
}
}
문제는이 때때로 잘 작동하지만 것입니다 때로는 첫 번째 라디오 버튼 삭제되지 않은 채로 남아 있습니다.
P. 나중에 radiogroup에 다른 항목과 다른 라디오 버튼 양을 제공하는 button2를 추가하려고합니다. 그래서 사용자가 선택을 한 후에 모든 라디오 버튼을 제거해야합니다. 동시에 (rg.getChildCount (에서 아이를 제거하는 동안 하나 이상의 뷰의 아이를 실행할 수 없습니다
for (int i=0; i< rg.getChildCount(); i++){
rg.removeViewAt(i);
}
동안 변경됩니다) :