XML파일에서 EditTextView를 여러개 만들어두었습니다.
edit_0, edit_1, edit_2, edit_3 ... edit_15
같이요.
다음으로는 JAVA파일에 EditTextView를 순서대로 가르키기 위해 int형 전역변수인 i를 하나를 만들었습니다.
또 버튼을 만들어서 이 버튼을 클릭할때마다 하나의 함수가 작동하게 하였습니다.
다음과 같은 작업을 하기 위해서요.
TextView tv = (TextView)findViewById(edit_ + i);
tv.setText("change" + i);
i++;
하지만 안되더군요.
TextView tv = (TextView)findViewById(edit_ + i); 때문인듯..
findViewById의 ( )안에는 R.x.x와 같은 형태만 들어가게 되는건가요..?
순서대로 지정할 수 있는 방법은 없는지?
findViewById외에도 JAVA에서 TextView를 생성해서,
그것이 XML에서 미리 만들어둔 EditTextView를 가르키게 할 수 있는 것은 없나요?
......레퍼런스를 보면 findViewById( int ) 입니다.
하이앤님 말씀대로 R 파일의 변수로 할당되는 값도 정수형이죠.
원칙적으로는 쓰면 안되지만, 해당 리소스들이 고정인 상황이고 R 파일에서 해당 리소스들의 id값의 연속성을 확인한 후
적용하시면 되기도 하겟지만,
하지말라는거 해서 이득 볼 상황은 없다고 생각하네요..
다른방법으로 그냥 배열이나 리스트에 적용한 후에 리스트 에 있는 값을 꺼내서 쓰면 될것 같네요^^
private int[] MusicID = { R.raw.numbers_kr, R.raw.sure_kr, R.raw.ding_kr, R.raw.whale_kr, R.raw.veggie_kr, R.raw.numbers_en, R.raw.sure_en, R.raw.ding_en,
R.raw.whale_en, R.raw.veggie_en };
저는 이렇게 해서 쓰고 있어요~




못쓰는건 아니지만 쓰면 안됩니다.
resource 파일들은 부분부분 파싱되어 R 파일의 변수로 할당이 되어 id값이 부여 되는데
이 값이 선형 증가할 것이라는 가정을 할순 없습니다. 컴파일러 맘대로거등요 ㅎ
view 객체에 대한 id 관리는 하나하나 따로 하는게 일반적이에요
이런 부분에서 까지 for 루프를 사용할 필요는 없을거 같네요 ^^