안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요..
별로 어렵지 않다고 생각했는데... 막혀서.. 이렇게 글을 올립니다..
아래 코드는 바로 전 액티비티에서 눌린 값을 값아서 그 값으로..
이미지가 h1_1,h1_2,h1_3 이런식으로 뒷자리만 바뀌거든요...
그래서 아래와 같이.. 스트링으로 R.drawable.h1_ <- 부분에서 넘어 오는 값을 추가했는데
문제는 아래쪽에서 생기더라구요
getDrawable 메서드가 int id 를 받아야해서 str을 파싱을 해줬더니. 액티비티가 뻗어 버리더군요..
로그캣에는. java.lang.NumberFormatException: unable to parse 'R.drawable.h1_1' as integer
라고 나오네요... 저기 int id 부분을 어떻게 넣어 줘야 될까요?.. 고수님들 답변 부탁드립니다..
그럼 수고하세요..
----------------------------------------------------
Intent i = getIntent();
String lanostr = i.getStringExtra("lano");
String str = "R.drawable.h1_"+lanostr;
ImageView img = (ImageView)findViewById(R.id.imgv);
Drawable bd=getResources().getDrawable(Integer.parseInt(str));
img.setImageDrawable(bd);
---------------------------------------------




str 에 넣은값이 숫자형태가 아니기때문에 Integer.parseInt를 해봤자 인티저로 파싱이 안됩니다.
에러내용도 그내용이구요 (넘버포맷 익셉션이라고 로그캣에 찍히죠~?)
그래서 위방법으로는 안되고..
추천드리자면 인티저 배열로 사용하실 리소스를 미리 배열로 만들어놓고 인텐트에서 넘어오는 값을 인덱스로
받아서 하시면 되지 않을까 생각되네요