코드에서 사용할 문자열 배열을 선언하려고합니다. 나는이 두 가지 방법, 둘 다 가능한 옵션으로 생각했지만, 하나는 내 애플 리케이션을 실패하지 않고 부하에서 충돌하게 만든다.문자열 배열 선언 문제 발생
작업 코드 :
private String[] list = {"apple", "pear"};
하지 작업 코드 :
Resources res = getResources();
private String[] list = res.getStringArray(R.array.Fruit);
이상한 것은, 후자의 코드는 안드로이드 문자열 리소스 페이지에서 직접 을 복사 한한다 . 배열 (이 경우 Fruit
이라고 표제가 있음)이 존재하고 이제는 일종의 분실되었음을 확인했습니다. 다음과 같이
내가 점점 오전 로그인 고양이 오류는 다음과 같습니다
02-25 12:38:18.015: ERROR/AndroidRuntime(605): FATAL EXCEPTION: main
02-25 12:38:18.015: ERROR/AndroidRuntime(605): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ikiar.appname/com.ikiar.appname.Main}: java.lang.NullPointerException
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.os.Handler.dispatchMessage(Handler.java:99)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.os.Looper.loop(Looper.java:123)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.app.ActivityThread.main(ActivityThread.java:4627)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at java.lang.reflect.Method.invokeNative(Native Method)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at java.lang.reflect.Method.invoke(Method.java:521)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at dalvik.system.NativeStart.main(Native Method)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): Caused by: java.lang.NullPointerException
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at com.ikiar.appname.Main.<init>(Main.java:24)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at java.lang.Class.newInstanceImpl(Native Method)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at java.lang.Class.newInstance(Class.java:1429)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
02-25 12:58:52.284: ERROR/AndroidRuntime(717): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
여러분의 도움에 감사드립니다!
편집 :
Resources res = getResources();
이 솔루션
을 :이전보다 로그 고양이 정보는 충돌의 코드 @ 위치의 라인 충돌의 위치 @
추가 Resources res - getResources();
의 위치는입니다.방법.
'Fruit'이라는 이름의'string-array'가있는'values' 폴더에'array'라는 xml 파일이 있습니까? – Luksprog
'strings.xml' 파일 안에는'Fruit'이라는 문자열 배열이 있습니다. – gkiar