Android ID中的getString()引发资源$NotFoundException异常

Android ID中的getString()引发资源$NotFoundException异常,android,android-resources,Android,Android Resources,我试图将字符串id从一个方法发送到另一个方法,但当我尝试getString()获取该值时,我得到一个Resources$NotFoundException异常 获取字符串的方法: private static int getDefaultPropertyStringId(SettingsPropertyType settingsPropertyType, Context context) { int stringId; switch (settingsProperty

我试图将字符串id从一个方法发送到另一个方法,但当我尝试getString()获取该值时,我得到一个Resources$NotFoundException异常

获取字符串的方法:

    private static int getDefaultPropertyStringId(SettingsPropertyType settingsPropertyType, Context context) {

    int stringId;

    switch (settingsPropertyType) {
        case START_UP_SCREEN:
            stringId = R.string.settings_start_screen_map;
            break;
        case MAP:
            stringId = R.string.settings_map_normal;
            break;
        case REFRESH_TIME:
            stringId = R.string.settings_refresh_time_every_minute;
            break;
        case DISTANCE_UNIT:
            stringId = R.string.settings_distance_units_meters;
            break;
        default:
            stringId = R.string.default_settings;
            break;
    }
    return stringId;
}
如果使用返回值生成get字符串,则可以从字符串资源中获取值:

当我尝试从首选项获取值时,会调用此方法,但它不存在。我得到的值是默认值。但如果我尝试在调用getDefaultPropertyStringId()的方法中获取默认值,则会出现错误:

getDefaultPropertyStringId()return中的id与调用方法中的id相同,但当我尝试获取字符串时,会出现错误

有人知道为什么会这样吗

其中的一部分,有人知道我在哪里可以将id与字符串关联吗?任何我能把它们联系起来的文件


感谢您在android Studio中,从文件->无效缓存/重新启动

像这样拿绳子

 stringId = getResources().getString(R.string.settings_start_screen_map);

错误是我从Shared获取的字符串id来自strings.xml中的已删除字符串,导致应用程序崩溃。

尝试context.getResources().getString(id);添加context.getResources().getString(id)会引发相同的错误在您如何调用
getDefaultPropertyStringId
methodVarad的代码后,我调用getDefaultPropertyStringId的代码位于第二个imageInvalidates缓存中,会引发相同的错误。至于更改代码以返回字符串而不是id,我首先想知道为什么我无法从具有相同id的方法中获取字符串。您想要字符串或id是什么?获取id后再使用它。对于id,您必须获得如下R.string.settings\u start\u screen\u map无效缓存为我工作+1.