2012-12-23 1 views
0

내 앱은 정수 값을 벡터에 추가 한 다음 해당 벡터의 크기를 알고 싶어합니다.Android ArrayList.size는 notfound를 반환합니다.

if(nearSelected||middleSelected||farSelected){ 
    ArrayList<Integer> distance = new ArrayList<Integer>(); 

    //Which distance(s) has the user selected? 
    if(nearSelected){distance.add(1);} 
    if(middleSelected){distance.add(2);} 
    if(farSelected){distance.add(3);}  

    //Attempt to display the number of choices picked to the user 
    try { 
     Toast.makeText(getBaseContext(), distance.size(), Toast.LENGTH_SHORT).show(); 
    } catch (Exception e) { 
     Log.i(LOG_TAG, e.toString()); 
    } 
} 

불행하게도, distance.size()을 얻기 위해 시도하는 것은 NotFoundException됩니다. 코드의 다른 모든 부분은 정상적으로 작동하지만이 부분 만 충돌합니다. 내가 어디서 망쳐 놨어?

+0

이 호출이 문제의 원인일까요? 당신은 logcat을 게시 할 수 있습니까? – Matthieu

답변

6

Distance.size()은 의 원인이 아니며, Toast.makeText입니다. 정수 ()를 매개 변수로 사용하여 호출하면 문자열 리소스를 찾고 정수을 id로 찾습니다. 숫자를 문자열로 표시하려면 다음과 같이 지정해야합니다.

Toast.makeText(getBaseContext(), Integer.toString(distance.size()), Toast.LENGTH_SHORT).show(); 
+0

Ahhh 깡패. 나는 그것을 알아야했다. 하루 종일 코딩하고 방금 뇌가 방아쇠를 당겼습니다. 감사! 시간 제한이 끝나면 곧 받아 들일 것입니다. – user1923146

관련 문제