我认为我有一个非常容易解决的问题,但是我已经在墙上敲了几个小时试图超越它!
我有一个加载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和开发有点新手。所以如果这真的很蠢,请原谅我的无知。
提前感谢您提供给我的任何建议。
答案 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