如何在字符串数组上使用getIdentifier()来获取资源中的字符串

时间:2015-06-04 18:46:07

标签: android arrays

我在数据库中有一个字符串,其中包含以下内容:

String fromdatabase = "one,two,three,four";

基本上我想把它变成以下格式以便进一步处理和使用:

String[] array = new String[]{R.string.one,R.string.two,R.string.three,R.string.four};

到目前为止,我有以下代码将字符串转换为字符串数组,但不知道如何从那里开始。我正在考虑使用某种形式的for循环

getResources().getIdentifier(???,"string","package"));

然后在最后将它放入一个新的字符串数组中,但我不知道从哪里开始。

String[] split_fromdatabase = fromdatabase.split("\\s*,\\s*");

由于

2 个答案:

答案 0 :(得分:0)

经过一个小时的试用后出现错误,此代码似乎有效。 它可能不是最好的书面,但它有效:

String[] split_fromdatabase = dropped_by.split(",");
        a = new ArrayList<String>();
        for(int i1=0; i1 <Adropped_by.length; i1++){
            System.out.print(Adropped_by[i1]);
            int res = getResources().getIdentifier(split_fromdatabase [i1],"string",getPackageName());
            a.add(getString(res));
        }
        db = new Object[a.size()];
        db = a.toArray(db);

答案 1 :(得分:-1)

R.string.one表示您指向“&#39; res”中的字符串。文件夹中。

您无法在运行时在res文件夹中创建字符串(或任何内容)。