小编Ben*_*ela的帖子

Android getResources().getStringArray()变量

我有一个xml文件,其中有字符串和字符串数组.我有一个班级,我点击一个listitem,而在另一个班级我列出其他项目.在xml中有一些字符串,其名称是被点击的项目修改名称,值是字符串数组名称.我找到了一个解决方案,如何将一个变量添加到getResources(9.getStringArray()但它不起作用.程序启动,但当我点击任何listitem时,我的活动就停止工作.我的类文件:

String artistpicked = extras.getString("artist");
String[] firstW = artistpicked.split(" ");
firstW[0] = firstW[0].trim();
String albumSearch = firstW[0] + "_code";
int getRes = getResources().getIdentifier(albumSearch, "string", getPackageName());
String setRes = String.valueOf(getRes);
int getRes2 = getResources().getIdentifier(setRes, "array", getPackageName());
String[] albums = getResources().getStringArray(getRes2);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, albums));
TextView t = (TextView) findViewById(R.id.albumName);
t.setText(setRes);
Run Code Online (Sandbox Code Playgroud)

TextView用于检查变量.albumSearch给出了"modifiedartistpicked_code",这很好.getRes给出了xml("something_array")的值,setRes给出了它的实际id号(getStringArray要求的值).getRes2与getRes相同,只是在那里检查它是否正常工作.当我注释掉接下来的两行,String albums []和setListAdapter时,程序可以正常工作,但它不会列出项目.

xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="artists_array">
        <item>code1 example</item>
        <item>code2 example</item>
    </string-array>
    <string-array name="code1_array">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
    </string-array>
    <string-array name="code2_array">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
    </string-array>
    <string name="code1_code">code1_array</string>
    <string name="code2_code">code2_array</string> …
Run Code Online (Sandbox Code Playgroud)

string variables android

22
推荐指数
2
解决办法
6万
查看次数

标签 统计

android ×1

string ×1

variables ×1