android:Universal Image Loader从字符串数组中获取drawable

时间:2014-02-13 04:25:48

标签: android arraylist android-drawable universal-image-loader

我在互联网上发现了这样的内容

public static final String[] imageurl = new String[] {
    "http://sample.com/sample1.png",
    "http://sample.com/sample1.png"
};

所以加载图片时我们只需要调用

imageloader.displayImage(imageurl[position], imageView, options);

我的问题

我在arrays.xml中有字符串数组

<string-array name="sample" >
    <item>image1</item>
    <item>image2</item>
    <item>image3</item>
    <item>image4</item>
</string-array>

然后我试图读取arrays.xml中的示例字符串数组

....
ArrayList<Integer> list = new ArrayList<Integer>();
....

final Resources resources = getResources();
final String packageName = getApplication().getPackageName();
final String[] extras = resources.getStringArray(R.array.sample);
for (String extra : extras) {
    int res = resources.getIdentifier(extra, "drawable", packageName);
    if (res != 0) {
        list.add(res);
    }
}

如何从ARRAYLIST加载图像?

就像

imageloader.displayImage(list.get(position), imageView, options);

如何在ARRAYS.XML内的STRING ARRAY设置STRING []?

我不想像这样手动设置它

public static final String[] imageurl = new String[] {
    "drawable://" R.drawable.image1
    "drawable://" R.drawable.image2
    ...
};

1 个答案:

答案 0 :(得分:29)

对于可绘制数组,你可以试试这个:

String imageUri = "drawable://" + R.drawable.image;

而不是R.drawable.image只是传递你的数组位置。

示例:

声明你的可绘制数组:

public static final int[] imageurl = new int[] {
 R.drawable.image1,
 R.drawable.image2,
...

};

现在在Baseadapter的getview()方法中:

imageloader.displayImage("drawable://"+imageurl(position), imageView, options);