2012-10-29 11 views
0

Resources$NotFoundException을 디버그하는 데 약간의 문제가 있습니다. 나는 동적으로 AlertDialog에 열거에서 항목을 추가하려고 해요 : 여기 ResourceNotFoundException을 디버그 할 수 없습니다.

Activity의 코드이다 : 나는 모든 사람이

public class TrendingManager { 

    public static enum Filter { 
      ONLY_PRIVATE, ONLY_PUBLIC, ONLY_HQ, ONLY_LQ 
    }; 

} 

: 여기

final ArrayList<CharSequence> lstChoices = new ArrayList<CharSequence>(); 

for (TrendingManager.Filter fltFilter : TrendingManager.Filter.values()) { 

    lstChoices 
    .add(getResources() 
      .getString(
        getApplicationContext() 
          .getResources() 
          .getIdentifier(
            fltFilter.name().toLowerCase(), 
            "string", 
            getApplicationContext() 
              .getApplicationInfo().packageName))); 

} 

은 열거 목록입니다 4 개의 열거 형은 내 strings.xml에 정의되어 있으며 내 휴대 전화에서 작동하지만 사용자의 휴대 전화에서 다음과 같은 오류 보고서를받습니다.

android.content.res.Resources$NotFoundException: String resource ID #0x0 
at android.content.res.Resources.getText(Resources.java:260) 
at android.content.res.Resources.getString(Resources.java:344) 
at com.mridang.myapp.Trend.onOptionsItemSelected(Trend.java:230) 
at android.app.Activity.onMenuItemSelected(Activity.java:2564) 
... 
... 
... 

나는 왜 이런 일이 일어나는가에 대해 정말로 분실했다. 자원을 찾을 수없는 이유에 대한 아이디어가 있습니까?

답변

3

정확히 하나의 작업을 수행하는 여러 명령문으로 루프의 명령문을 분할해야합니다.

이렇게하면 문제가있는 곳을 더 잘 볼 수 있습니다.

+0

내 에뮬레이터 또는 휴대 전화에서 코드를 로컬로 실행해도 예외가 발생하지 않습니다. –

+0

질문에이 내용을 적어야합니다. 'strings.xml'이 패키지에 포함되어 있는지 확인 했습니까? – Kai

+0

것 같습니다. Play 스토어에 업로드 한 APK를 사용하여 APKTool을 실행하여 디 컴파일했습니다. 그 안에'strings.xml'이 있고 그 문자열이 파일에 존재한다는 것을 알았습니다. 그 APK를 내 전화기에 설치 했는데도 문제가 없었습니다. –

관련 문제