java - Android,如何使用java从资源id获取xml资源值

标签 java android

在 res/文件夹中,我有多语言 XML 文件,一个用于阿拉伯语,另一个用于英语:

<string name="ram"/>ramallah<string>   
<string name="nablus"/>Nablus<string>  
<string name="jenin"/>Jenin<string> 

<string name="ram"/>رام الله<string>   
<string name="nablus"/>نابلس<string>  
<string name="jenin"/>جنين<string> 

我这样定义名字:

int[] names= {R.string.ram, R.string.nablus, R.string.jenin}

我将这些值存储在数据库中。当我选择数据时,我有 2131099699、2131099623 和 21310991231 等值。如何将这些数字映射到 XML 中的名称?我如何从这些整数值中获取像 ramallah、Nablus 和 Jenin 这样的资源值?

最佳答案

除了以这种方式保存资源 ID,您还可以将资源名称保存到数据库中:

String[] names = {"ram", "nablus", "jenin"};

然后你可以通过这种方式访问​​资源值:

int stringId = context.getResources().getIdentifier(nameStored, "string", context.getPackageName());
String stringValue = "default string";
if (stringId != 0) {
   stringValue = context.getResources().getString(stringId);
}

关于java - Android,如何使用java从资源id获取xml资源值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37738815/

相关文章:

java - 继承类设计(Java)

java - 以编程方式更改嵌套元素的 CSS 规则

java - 用 thymeleaf 测试 spring-boot web-app

java - Listview 添加项目两次

android - 如何在长按工具栏项目(图标)android时隐藏Toast消息的显示?

java - Java 如何返回一个类依赖于指定参数的对象?

Java : Compare same objects that they have same properties but do not points a same point in memory

android - Android 上的异常 'open failed: EACCES (Permission denied)'

android - 具有多个 fragment 和屏幕方向的单个 Activity

JavaFX WebView 无法与 Spring Boot Maven 一起使用