반응형
숫자를 출력하기 위해 setText를 사용하다 위와 같은 오류 메시지를 발견할 때가 있습니다. android.content.res.Resources$NotFoundException: String resource ID
Random random = new Random();
int number_max = getIntent().getExtras().getInt("number_max");
int number_min = getIntent().getExtras().getInt("number_min");
Log.d(TAG,"최대값 : "+number_max);
Log.d(TAG,"최소값 : "+number_min);
int randomNum = random.nextInt(number_max);
textView_number.setText(randomNum);
위처럼 textView_number라는 textView에 randomNum 값을 집어넣어 출력하려고 하는데..
이러한 오류가 나는 이유는 setText에서 randomNum이 Int 형식 아닌 String 형식으로 들어가 있기 때문입니다.
이를 해결하기 위해 textView_number.setText(randomNum);를 아래와 같이 String.valueOf를 추가하여 코드를 바꾸어 주도록 합니다.
textView_number.setText(String.valueOf(randomNum));
간단하게 형식을 바꾸어줌으로써 String resource ID 오류를 해결할 수 있습니다.
저도 가끔 넋 놓고 하다가 왜 오류나지 하는 경우가 있는 코드인데요.
textView에서 문자가 아닌 숫자로 setText 할 때는 String.valueOf()를 기억하며 작성하시기 바랍니다
반응형