You can use this code where you want to get the dynamic resource id (i.e in int). I Mostly used in Adapters (for gridview, listview).
ImageArray for dummy purpose
String[] imagesArray={"image1","image2","image3","image4","image5","image6"};
First Declare your imageloader
ImageLoader mImageloader;
Define your DisplayOptions as per requirement
mImageOptions = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.ic_launcher) .showImageForEmptyUri(R.drawable.ic_launcher) .showImageOnFail(R.drawable.ic_launcher) .cacheInMemory(true) .cacheOnDisk(true) .considerExifParams(true) .bitmapConfig(Bitmap.Config.RGB_565) .build();
Define config as per requirement
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(mContext) .threadPriority(Thread.NORM_PRIORITY - 2) .denyCacheImageMultipleSizesInMemory() .diskCacheFileNameGenerator(new Md5FileNameGenerator()) .diskCacheSize(50 * 1024 * 1024) // 50 Mb .tasksProcessingOrder(QueueProcessingType.LIFO) .writeDebugLogs() // Remove for release app .build(); // Initialize ImageLoader with configuration. ImageLoader.getInstance().init(config); mImageloader=ImageLoader.getInstance();Then Load your image into your imageview
mImageloader
.displayImage(("drawable://" + getResourceId(imagesArray[index],"drawable","com.example.dummy", mContext)), YourImageView, mImageOptions, new SimpleImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
}
}, new ImageLoadingProgressListener() {
@Override
public void onProgressUpdate(String imageUri, View view, int current, int total) {
}
});
Use this method to get the resource id
public int getResourceId(String fileName, String resourceName, String packageName,Context mContext)
{
try {
return mContext.getResources().getIdentifier(fileName, resourceName, packageName);
} catch (Exception e) {
e.printStackTrace();
return -1;
}
}
No comments:
Post a Comment