<--! [Android] 라디오 버튼 선택 및 Switch조건문으로 실행법 -->

[Android] 라디오 버튼 선택 및 Switch조건문으로 실행법

필그램

·

2017. 10. 21. 10:28

상단부분 생략하고 라디오 버튼 부분만 적용합니다.


radioGroup = (RadioGroup) findViewById(R.id.radioGroup); //레이아웃에서 라디오 버튼은 라디오 그룹안에 만듭니다.
radioGroup.clearCheck(); // 체크된 것이 있다면 지웁니다.



radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { // 라디오 그룹 리스너 입니다.
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
radioButton = (RadioButton) group.findViewById(checkedId); //체크된 것을 입력받습니다.
if(null!=radioButton && checkedId > -1){ // 라디오 버튼이 널값이 아니고, -1보다 클경우를 지정합니다.
Toast.makeText(MainActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show(); //이때 토스트로 값을 출력합니다.

}
}
});


라디오 버튼을 클릭시 값을 Switch로 받아 각 번호에 따라 계산하는 코드입니다.

button.setOnClickListener(new View.OnClickListener() { // 버튼클릭시
@Override
public void onClick(View v) {
point = editText1.getText().toString(); // 텍스트의 값을 포인트 라고 정의합니다.
System.out.print("\n point is " + point);

int rb = ((RadioGroup) radioGroup.findViewById(R.id.radioGroup)).getCheckedRadioButtonId(); // 라디오 버튼의 값을 rb로 넣습니다.

switch (rb) {
case R.id.radioButton: { //첫째 라디오 버튼일 경우
System.out.println("Radio1 ");
Calc ca = new Calc();
sr = ca.valueCalc(10, 8000, point);
myValue.setText("$ " + sr); // 위의 값을 myValue라는 곳에 출력합니다..
break;
}

// 아래 케이스는 위와 같습니다.
case R.id.radioButton2: {
System.out.println("Radio2 ");

Calc ca = new Calc();
sr = ca.valueCalc(30, 22000, point);
myValue.setText("$ " + sr);
break;
}
case R.id.radioButton3: {
System.out.println("Radio3 ");
Calc ca = new Calc();
sr = ca.valueCalc(60, 38000, point);
myValue.setText("$ " + sr);
// valueCalc3 = new Calc(60, 38000);
break;
}
case R.id.radioButton4: {
System.out.println("Radio4 ");
Calc ca = new Calc();
sr = ca.valueCalc(85, 50000, point);
myValue.setText("$ " + sr);
break;
}
case R.id.radioButton5: {
System.out.println("Radio5 ");
Calc ca = new Calc();
sr = ca.valueCalc(170, 95000, point);
myValue.setText("$ " + sr);
break;
}
}
}
});


반응형