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

반복되는 id값을 for문으로 처리하고 싶습니다.

0 추천

아래와 같은 코드가 숫자만 다른채로 반복되고 있는데

 

딱 봐도 포문 돌리면 될거 같거든요

 

그런데 저 id 값을 어떻게 해줘야 할지 모르겠습니다.

R.id.edit_ability+"3" 이런식으로는 안되는거 같은데

어떻게 해줘야 하나요?

숫자가 붙어있느걸 i=0 ; i<10 ;i++ 이런식으로 포문하면 될거 같은데 변수명인식이 안되는거 같습니다.

 

	String str_ability3 = it.getStringExtra("it_ability3");
		TextView txt_ability3 = (TextView) findViewById(R.id.edit_ability3);
		txt_ability3.setTextColor(someColor4);
		txt_ability3.setText(str_ability3);
		// 색깔별 값 범위
		if (str_value3 == null || str_value3.length() == 0) {
			TextView txt_value3 = (TextView) findViewById(R.id.edit_value3);
			txt_value3.setText(str_value3);
		} else {

			// 색깔별 값 범위
			TextView txt_value3 = (TextView) findViewById(R.id.edit_value3);//

			// 조건에 따른 색깔 지정
			color(txt_value3, str_value3);
		}

 

브루스웨인 (8,580 포인트) 님이 2015년 2월 3일 질문
int니까 그냥 R.id.edit_ability+3 이렇게 해주면되지않나요?

1개의 답변

+2 추천
int resId= getResources().getIdentifier("아이디", "id", getPackageName());

위 "아이디" 부분에 변경되는 아이디 넣고 적용해 보셔요~

받은 resId는 findViewById(resId) 처럼 사용하면 됩니다.
가랑비 (10,530 포인트) 님이 2015년 2월 3일 답변
그렇다면
int resId= getResources().getIdentifier("edit_ability", "id", getPackageName());

이런식으로 될텐데
TextView txt_value3 = (TextView) findViewById(resId);
이렇게 사용할 때 resId이게 edit_ability3 인걸 어떻게 표현해줘야 하죠?
...