마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

반복되는 변수명 증가시켜서 사용하기?

0 추천

변수명만 바뀌어 5회 반복되는 if문이 있습니다. 

if문은 간단한데 .. for문으로 간략화 하고싶어서 시도하려고 하는데 변수 사용을 하면서 택스트를 얻어오는거라 

맘처럼되지가 않는군요 .. 

소스는 간단합니다. 조언 부탁드립니다.

 

		if (Alarm_phone.ph_sms_ck_1.isChecked()) {
			sendSMS(Alarm_phone.ph_sms_ed_1.getText().toString(),
					Alarm_phone.ph_sms.getText().toString());
		}
		if (Alarm_phone.ph_sms_ck_2.isChecked()) {
			sendSMS(Alarm_phone.ph_sms_ed_2.getText().toString(),
					Alarm_phone.ph_sms.getText().toString());
		}
		if (Alarm_phone.ph_sms_ck_3.isChecked()) {
			sendSMS(Alarm_phone.ph_sms_ed_3.getText().toString(),
					Alarm_phone.ph_sms.getText().toString());
		}
		if (Alarm_phone.ph_sms_ck_4.isChecked()) {
			sendSMS(Alarm_phone.ph_sms_ed_4.getText().toString(),
					Alarm_phone.ph_sms.getText().toString());
		}
		if (Alarm_phone.ph_sms_ck_5.isChecked()) {
			sendSMS(Alarm_phone.ph_sms_ed_5.getText().toString(),
					Alarm_phone.ph_sms.getText().toString());
		}

반복되는 내용의 변수명만 _1 ~ _5 이런식으로 바뀌는 소스입니다.

 

Alarm_phone.ph_sms_ck_1.isChecked()
Hui (590 포인트) 님이 2013년 2월 27일 질문

2개의 답변

0 추천
저렇게 하실꺼라면

Alarm_phone 안에다가 어레이리스트 하나 두시고

 

그거 포문돌려서 끝내면 간단할거 같군요...
건방진프로그래머 (26,630 포인트) 님이 2013년 2월 27일 답변
0 추천

변수들이 생성될때 (onCreate같은곳에서) 배열에 넣어두고

배열을 for문을 이용해서 하시면 될것같은데요..

Object[] arr = new Object[5];

arr[0] = Alarm_phone.ph_smsck_1;
arr[1] = Alarm_phone.ph_smsck_2;
arr[2] = Alarm_phone.ph_smsck_3;
arr[3] = Alarm_phone.ph_smsck_4;
arr[4] = Alarm_phone.ph_smsck_5;

//대충 이런식으로 배열 혹은 List를 구성하고

for(int i = 0; i<arr.length;i++){
 if(arr[i].isChecked()){
  sendSMS(arr[i].getText().toString(), Alarm_phone.ph_sms.getText().toString());
 }
}

//이런식으로 사용하면 되지 않을까 생각되네요.

 

이라슈 (8,770 포인트) 님이 2013년 2월 27일 답변
...