【发布时间】:2016-10-05 08:01:50
【问题描述】:
这是我的字符串文件:
<resources>
<string name="app_name">Name</string>
<string name="vp_locations">Locations</string>
<string name="vp_client_area">Client Area</string>
<string name="vp_menu">Menu</string>
</resources>
我想以编程方式获取所有这些字符串,我创建了一个数组来获取我需要的所有字符串值:
private CharSequence[] tbTitles = {
getResources().getText(R.string.vp_locations),
getResources().getText(R.string.vp_client_area),
getResources().getText(R.string.vp_menu),
};
现在我想知道当我这样做时如何获取值:
textView.setText(tbTitles[0]);
应用程序崩溃
我已经从字符序列转换为字符串,这样做:
textView.setText(tbTitle[0].toString());
但似乎没有任何效果。你们能告诉我我做错了什么吗?
日志:
java.lang.NullPointerException 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2436) 在 android.app.ActivityThread.access$800(ActivityThread.java:157) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374) 在 android.os.Handler.dispatchMessage(Handler.java:110) 在 android.os.Looper.loop(Looper.java:193) 在 android.app.ActivityThread.main(ActivityThread.java:5398) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:940) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.NullPointerException 在 android.content.ContextWrapper.getResources(ContextWrapper.java:89) 在 android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:78) 在 com.example.rd.app.Interface.MainActivity.(MainActivity.java:36) 在 java.lang.Class.newInstanceImpl(本机方法) 在 java.lang.Class.newInstance(Class.java:1215) 在 android.app.Instrumentation.newActivity(Instrumentation.java:1061) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2436) 在 android.app.ActivityThread.access$800(ActivityThread.java:157) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374) 在 android.os.Handler.dispatchMessage(Handler.java:110) 在 android.os.Looper.loop(Looper.java:193) 在 android.app.ActivityThread.main(ActivityThread.java:5398) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:940) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 在 dalvik.system.NativeStart.main(Native Method)
谢谢。
【问题讨论】:
-
如果它崩溃,请输入崩溃日志。崩溃可能有不同的原因,例如
textView为空。 -
当你想要一个字符串数组时,为什么你有一个
CharSequence[]数组而不是string[]?你可以做getResources().getString(resourceId) -
我已经尝试过使用 String[] 但我的应用总是崩溃
-
请看我的回答。您的错误与字符串转换无关。
标签: android