Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用列表视图(类型化数组)时java android中出现ArrayIndexOutOfBounds异常_Java_Android - Fatal编程技术网

使用列表视图(类型化数组)时java android中出现ArrayIndexOutOfBounds异常

使用列表视图(类型化数组)时java android中出现ArrayIndexOutOfBounds异常,java,android,Java,Android,这是我的字符串文件 for (int i = 1; i < 10; i++){ String str = "weblinks_" + i; try { details = res.getIdentifier(str, "array", getPackageName()); file = true; } catch (Resources.NotFoundException e) { file = false; }

这是我的字符串文件

for (int i = 1; i < 10; i++){
    String str = "weblinks_" + i;
    try {
        details = res.getIdentifier(str, "array", getPackageName());
        file = true;
    } catch (Resources.NotFoundException e) {
        file = false;
    }
    if (file) {
        typedArray = res.obtainTypedArray(details);
        for (int k = 0; k < typedArray.length(); k++) {
            MenuItem = typedArray.getString(k);
            if (k == 0) {
                navDrawerItems.add(new NavDrawerItem(MenuItem));
            }
        }
    }
现在我的问题是数组索引越界异常和应用程序崩溃。 上面的代码可以显示weblinks_1、weblinks_2、weblinks_3…最多n个,但是如果我从字符串中删除一个数组项,我会得到arrayIndexOutofBounds异常
请任何人帮助解决此问题…请删除布尔文件变量并按以下方式进行更改。它将处理Resource.NotFoundException

<array name="weblinks_1">
    <item>Home</item>
    <item>Home</item>
</array>
 <array name="weblinks_2">
    <item>wallet</item>
    <item>wallet</item>
</array>
  <array name="weblinks_3">
    <item>Recharge</item> 
    <item>recharge</item> 
</array>
<array name="weblinks_4">
    <item>Account</item>
    <item>account</item>
</array>
 <array name="weblinks_5">
    <item>Notifications</item>
    <item>notifications</item>
</array>
<array name="weblinks_6">
    <item>Privacy</item>
    <item>privacy</item>
</array>
<array name="weblinks_7">
    <item>Facebook</item>
    <item>facebook</item>
</array>
<array name="weblinks_8">
    <item>Twitter</item>
    <item>Twitter</item>
</array>

对于arrayIndexOutofBounds异常,需要更多代码加上logcat报告

可能与硬编码值有关,如for循环中的10。对于int i=1;i<10;i++{那么你是说应用程序会像那样崩溃吗?还是只有当你删除数组项时才会崩溃?没错,当我从字符串中删除数组时,可能会出现两个错误1.ResourceNotFoundException 2.ArrayIndexOutOfBounds exception
for (int i = 1; i < 10; i++){
                String str = "weblinks_" + i;
                try {
                    details =this.getResources().getIdentifier(str, "array", this.getPackageName());

                    typedArray = getResources().obtainTypedArray(details);
                    for (int k = 0; k < typedArray.length(); k++) {
                        MenuItem = typedArray.getString(k);
                        if (k == 0) {
                            Log.e("String from" + str,MenuItem);
                        }
                    }
                } catch (Resources.NotFoundException e) {

                }


            }