无法调用资源(特别是字符串数组)-java/android

无法调用资源(特别是字符串数组)-java/android,java,android,arrays,Java,Android,Arrays,我已经创建了一个字符串数组,但无法在java中访问它。我对java非常陌生,因此非常感谢您的帮助 这是android应用程序的一部分,该应用程序将使用字符串数组在一系列图片下面添加标题 这是我的。如果我注释掉这两行,它仍然运行: Resources res=getResources(); String[] captionArray=res.getStringArray(R.array.chapter0captions); 这是一个类的一部分,用于存储我希望使用菜单中的活动打开的图像和标题(不确

我已经创建了一个字符串数组,但无法在java中访问它。我对java非常陌生,因此非常感谢您的帮助

这是android应用程序的一部分,该应用程序将使用字符串数组在一系列图片下面添加标题

这是我的。如果我注释掉这两行,它仍然运行:

Resources res=getResources();
String[] captionArray=res.getStringArray(R.array.chapter0captions);
这是一个类的一部分,用于存储我希望使用菜单中的活动打开的图像和标题(不确定我是否解释得很好…),我不知道这两行有什么问题,但我真的希望调用我的数组,而不必在开关盒代码的每个部分下复制粘贴。提前感谢您的帮助

import android.app.Application;
import android.content.res.Resources;

public class PositionStorage extends Application {
    public static int imageToOpen;
    public static String captionToOpen;
    public static String imageToOpenString;
    Resources res=getResources();
    String[] captionArray=res.getStringArray(R.array.chapter0captions);
public void storeTheString(int pos){
        int imageNumber=pos+1;
     switch (imageNumber) {
        case 1:
            imageToOpen=0x7f020005;
             captionToOpen=captionArray[pos];
            break;
        case 2:
            imageToOpen=0x7f020010; 
            captionToOpen=captionArray[pos];
            break;
        case 3:
            imageToOpen=0x7f02001b;
            captionToOpen=captionArray[pos];
            break;

不要在String.xml文件中声明字符串数组,而是在values文件夹下的arrays.xml中声明字符串数组

结构是

res>>值>>数组.xml

在arrays.xnl中

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="xxxarray">
    <item>one</item>
    <item>two</item>
    <item>thre</item>
</string-array>

如果在string.xml中声明数组,则系统将其视为字符串。

如果将这两个数组放在一起,会出现什么错误?R.array.chapter0captions中有什么?你能把R.array.chapter0captions中的内容作为问题的一部分吗?当你在访问字符串数组的地方取消注释代码时,会出现什么错误?可能是没有定义R.array.chapter0captions。如果确定存在具有此名称的资源,请尝试清理并重建项目。有时,这是资源文件完全更新所必需的。R.array.chapter0captions是在mystrings.xml文件中定义的。这是一个很长的字符串数组,但基本布局是。。。。图1图2当我在模拟器中运行应用程序时,我得到的错误是强制退出…我可能需要一些帮助来了解如何使用调试器…logcat说GC_***调试器说。。。。。。线程[main](挂起(异常NullPointerException))位置存储(ContextWrapper)。getResources()行:80位置存储。()行:10章菜单。onListItemClick(ListView,View,int,long)行:32 ListActivity$2。onItemClick(AdapterView,View,int,long)行:321 ListView(AdapterView)。performItemClick(View,int,long)行:284 ListView.performItemClick(View,int,long)行:3382 AbsListView$PerformClick.run()行:1696…….它继续,但有帮助吗?这不起作用,我不认为有什么区别,因为在我的R.java文件中,它显示在R.array.chapter0captions下,而不管它是用什么xml文件编写的
String[] arrayvalues=getResources().getStringArray(R.array.xxxarray);