Android StringArray与settext

Android StringArray与settext,android,arrays,Android,Arrays,我正在开发一个为用户显示一些文本视图的应用程序,我想我会将文本存储在一个数组中,并根据列表视图中选择的项目加载相应的信息 每个StringArray都有一个名称和4个项目。我使用if语句来知道要使用哪个数组,然后相应地设置文本 然而,我不能得到它的权利似乎。。LogCat给我FATALEXCEPTION,当我尝试访问活动时,程序立即关闭 旧代码 if (s.equals("A_DuGamla")) { String[] banan_arr = getResources().getStri

我正在开发一个为用户显示一些文本视图的应用程序,我想我会将文本存储在一个数组中,并根据列表视图中选择的项目加载相应的信息

每个StringArray都有一个名称和4个项目。我使用if语句来知道要使用哪个数组,然后相应地设置文本

然而,我不能得到它的权利似乎。。LogCat给我FATALEXCEPTION,当我尝试访问活动时,程序立即关闭

旧代码

if (s.equals("A_DuGamla")) {
    String[] banan_arr = getResources().getStringArray(R.array.hello);
    songname.setText(banan_arr[0]);
    lyricsby.setText(banan_arr[1]);
    melody.setText(banan_arr[2]);
    lyrics.setText(banan_arr[3]);
} else if (s.equals("A_Kungs")) { 
// And so on..
和字符串数组

<string-array name="hello">
    <item>Visa</item>
    <item>Text</item>
    <item>Melodi</item>
    <item>Text</item>
</string-array>

签证
文本
梅洛迪
文本
提前谢谢

更新错误日志

05-13 21:05:20.771: E/AndroidRuntime(25903): FATAL EXCEPTION: main
05-13 21:05:20.771: E/AndroidRuntime(25903): java.lang.RuntimeException: Unable toinstantiate activity ComponentInfo{se.noxious.visboken/se.noxious.visboken.R1_TradVisor}: java.lang.NullPointerException
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1743)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.app.ActivityThread.access$1500(ActivityThread.java:132)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.os.Looper.loop(Looper.java:150)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.app.ActivityThread.main(ActivityThread.java:4277)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at java.lang.reflect.Method.invokeNative(Native Method)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at java.lang.reflect.Method.invoke(Method.java:507)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at dalvik.system.NativeStart.main(Native Method)
05-13 21:05:20.771: E/AndroidRuntime(25903): Caused by: java.lang.NullPointerException
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:356)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:351)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at se.noxious.visboken.R1_TradVisor.<init>(R1_TradVisor.java:19)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at java.lang.Class.newInstanceImpl(Native Method)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at java.lang.Class.newInstance(Class.java:1409)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.app.Instrumentation.newActivity(Instrumentation.java:1040)
05-13 21:05:20.771: E/AndroidRuntime(25903):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1735)
05-13 21:05:20.771: E/AndroidRuntime(25903):    ... 11 more
05-13 21:05:20.771:E/AndroidRuntime(25903):致命异常:main
05-13 21:05:20.771:E/AndroidRuntime(25903):java.lang.RuntimeException:无法安装活动组件信息{se.noxious.visboken/se.noxious.visboken.R1_TradVisor}:java.lang.NullPointerException
05-13 21:05:20.771:E/AndroidRuntime(25903):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1743)上
05-13 21:05:20.771:E/AndroidRuntime(25903):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
05-13 21:05:20.771:E/AndroidRuntime(25903):在android.app.ActivityThread.access$1500(ActivityThread.java:132)
05-13 21:05:20.771:E/AndroidRuntime(25903):位于android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
05-13 21:05:20.771:E/AndroidRuntime(25903):位于android.os.Handler.dispatchMessage(Handler.java:99)
05-13 21:05:20.771:E/AndroidRuntime(25903):在android.os.Looper.loop(Looper.java:150)上
05-13 21:05:20.771:E/AndroidRuntime(25903):位于android.app.ActivityThread.main(ActivityThread.java:4277)
05-13 21:05:20.771:E/AndroidRuntime(25903):位于java.lang.reflect.Method.Invokenactive(本机方法)
05-13 21:05:20.771:E/AndroidRuntime(25903):位于java.lang.reflect.Method.invoke(Method.java:507)
05-13 21:05:20.771:E/AndroidRuntime(25903):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-13 21:05:20.771:E/AndroidRuntime(25903):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-13 21:05:20.771:E/AndroidRuntime(25903):在dalvik.system.NativeStart.main(本机方法)
05-13 21:05:20.771:E/AndroidRuntime(25903):由以下原因引起:java.lang.NullPointerException
05-13 21:05:20.771:E/AndroidRuntime(25903):在android.preference.PreferenceManager.GetDefaultSharedPreferenceName(PreferenceManager.java:356)
05-13 21:05:20.771:E/AndroidRuntime(25903):在android.preference.PreferenceManager.GetDefaultSharedReferences(PreferenceManager.java:351)
05-13 21:05:20.771:E/AndroidRuntime(25903):在东南部有毒的visboken.R1_TradVisor.(R1_TradVisor.java:19)
05-13 21:05:20.771:E/AndroidRuntime(25903):位于java.lang.Class.newInstanceImpl(本机方法)
05-13 21:05:20.771:E/AndroidRuntime(25903):位于java.lang.Class.newInstance(Class.java:1409)
05-13 21:05:20.771:E/AndroidRuntime(25903):在android.app.Instrumentation.newActivity(Instrumentation.java:1040)上
05-13 21:05:20.771:E/AndroidRuntime(25903):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1735)上
05-13 21:05:20.771:E/AndroidRuntime(25903):。。。还有11个

日志中的关键行是

at se.noxious.visboken.R1_TradVisor.<init>(R1_TradVisor.java:19)
位于se.noxious.visboken.R1_TradVisor.(R1_TradVisor.java:19)

检查文件R1_TradVisor.java中的第19行-这就是错误所在。无论你在那一行处理的是什么对象,都是
null
NullPointerException
)。

就在那里,尽管我看不太清楚:/看来你在试图从你的
R1\u TradVisor
构造函数(第19行)中找到一个不存在的首选项。那么,这个构造函数是什么样子的呢?在那一行我有一些SharedReferences,这是我之前使用过的代码,但是如果我对这一行的所有内容都进行注释,我会在第36行出现错误:
songname.setText(banan_arr[0])setupVars()
方法太晚了,这就是为什么它不起作用,因为它不知道它的引用。我还了解了logcat:)干杯