Android StringArray与settext
我正在开发一个为用户显示一些文本视图的应用程序,我想我会将文本存储在一个数组中,并根据列表视图中选择的项目加载相应的信息 每个StringArray都有一个名称和4个项目。我使用if语句来知道要使用哪个数组,然后相应地设置文本 然而,我不能得到它的权利似乎。。LogCat给我FATALEXCEPTION,当我尝试访问活动时,程序立即关闭 旧代码Android StringArray与settext,android,arrays,Android,Arrays,我正在开发一个为用户显示一些文本视图的应用程序,我想我会将文本存储在一个数组中,并根据列表视图中选择的项目加载相应的信息 每个StringArray都有一个名称和4个项目。我使用if语句来知道要使用哪个数组,然后相应地设置文本 然而,我不能得到它的权利似乎。。LogCat给我FATALEXCEPTION,当我尝试访问活动时,程序立即关闭 旧代码 if (s.equals("A_DuGamla")) { String[] banan_arr = getResources().getStri
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])你说的构造函数是指我的onCreate方法吗@rajuThank你,我的问题是在oncreate方法中声明setupVars()
方法太晚了,这就是为什么它不起作用,因为它不知道它的引用。我还了解了logcat:)干杯