访问字符串资源
问题描述:
最近我发现,android.R.string
包含一些有用的本地化的字符串,如“OK”,“是”,“否”,他们是在Java代码中访问与getResources().getString(android.R.string.yes)
访问字符串资源
但是Android SDK包含了许多更多本地化字符串它们位于$ANDROID_HOME/platforms/android-25/data/res/values-$LANG/string.xml
例如,我想用下面的字符串
<string name="gpsNotifTicker">Location request from <xliff:g id="name">%s</xliff:g></string>
是否有什么办法可以做到这一点,每个文件复制和粘贴的串旁边?
在XML android:text="@android:string/gpsNotifTicker"
给我“资源是不公开的”错误
在Java getString(android.R.string.gpsNotifTicker, name)
给我“未解决的参考”
而且,我试图SDK资源添加到源集的build.gradle
android {
//.....
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
main.resources.srcDirs += '/Users/rostopira/Library/Android/sdk/platforms/android-25/data/res'
}
}
,但字符串仍然不能访问
答
您可以参考系统资源,@android
说明符:
android:text="@android:string/SOME_RESOURCE"
这不适用于示例。仅适用于简单字符串,如“是”和“否”。此外,我需要Java代码中的这个字符串 –
我想这只是自动完成不起作用。否则,如果你手动编写它不会提示你错误。 [见截图](http://i.imgur.com/qwUpDpE.png) – azizbekian
我试了。它说''@android:string/gpsNotifTicker“资源不是公共的' –