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

use*_*595 3 android arraylist universal-image-loader android-drawable

大多数情况下,我在互联网上发现这样的

public static final String[] imageurl = new String[] {
    "http://sample.com/sample1.png",
    "http://sample.com/sample1.png"
};
Run Code Online (Sandbox Code Playgroud)

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

imageloader.displayImage(imageurl[position], imageView, options);
Run Code Online (Sandbox Code Playgroud)

我的问题

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

<string-array name="sample" >
    <item>image1</item>
    <item>image2</item>
    <item>image3</item>
    <item>image4</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

然后我试图读取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);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何从ARRAYLIST加载图像?

就像是

imageloader.displayImage(list.get(position), imageView, options);
Run Code Online (Sandbox Code Playgroud)

要么

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

我不想像这样手动设置它

public static final String[] imageurl = new String[] {
    "drawable://" R.drawable.image1
    "drawable://" R.drawable.image2
    ...
};
Run Code Online (Sandbox Code Playgroud)

Chi*_*hah 29

对于可绘制数组,您可以尝试这样:

String imageUri = "drawable://" + R.drawable.image;
Run Code Online (Sandbox Code Playgroud)

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

示例:

声明你的drawable数组:

public static final int[] imageurl = new int[] {
 R.drawable.image1,
 R.drawable.image2,
...
Run Code Online (Sandbox Code Playgroud)

};

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

imageloader.displayImage("drawable://"+imageurl(position), imageView, options);
Run Code Online (Sandbox Code Playgroud)