从字符串或文件中加载字符串值,而不是在类文件中加载“列表”

时间:2010-11-01 15:17:38

标签: android

我认为我有一个非常容易解决的问题,但是我已经在墙上敲了几个小时试图超越它!

我有一个加载URLS列表的适配器:

adapter=new MyAdapter(this, lStrings);
list.setAdapter(adapter);

URLS列表如下所示:

private String[] lStrings={
"http://www.domain.com/file1.jpg",
"http://www.domain.com/file2.jpg",
"http://www.domain.com/file3.jpg",
};

我想要的是从SD卡上的文本文件加载这些值。就此而言,我可以将文本文件中的值加载到String中,然后将String加载到列表中,因为我认为这将是“更清洁的方法”。但是,所有这样做的尝试都失败了。

例如,我用以下内容替换了上面的代码:

private String[] lStrings=
{       
        MainActivity.this.getString(R.string.myurllist)
};

...但是我在加载时获得了强制关闭。

我对Java,Android和开发有点新手。所以如果这真的很蠢,请原谅我的无知。

提前感谢您提供给我的任何建议。

1 个答案:

答案 0 :(得分:1)

看起来您可以使用getStringArray(resourceId)代替getString

在这种情况下,您将创建一个字符串数组资源(在arrays.xml中),如下所示:

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <string-array name="colors">
            <item>red</item>
            <item>orange</item>
            <item>yellow</item>
            <item>green</item>
            <item>blue</item>
            <item>violet</item>
        </string-array>
    </resources>

然后你的代码将是:

private String[] lStrings= getStringArray(R.array.myurllist)

点击此处了解详情:http://developer.android.com/resources/samples/ApiDemos/res/values/arrays.html