[英]Android: Using ImageLoader in my Project?
因此,我對如何在項目中正確實現ImageLoader感到困惑,因為我提到的大多數項目都涉及創建可全局訪問的ImageLoader對象並通過Adapter訪問它。 但是我的班級是這樣固定的:
public class ProductGridInflator extends ArrayAdapter<Product>{
private int[] Imageid;
ArrayList<Product> dbProducts;
Context ctx;
int resource;
ArrayList<Image> urlArr = new ArrayList<Image>();
ArrayList<Image> dbImages = new ArrayList<Image>();
public ProductGridInflator(Context context, int resource,ArrayList<Product> objects, ArrayList<Image> obj) {
super(context, resource, objects);
// TODO Auto-generated constructor stub
this.dbProducts = objects;
this.ctx = context;
this.resource = resource;
this.dbImages = obj;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
if(dbProducts.size() == 0){
return 0;
}else{
return dbProducts.size();
}
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View child = convertView;
RecordHolder holder;
LayoutInflater inflater = ((Activity) ctx).getLayoutInflater(); // inflating your xml layout
if (child == null) {
child = inflater.inflate(R.layout.grid_single, parent, false);
holder = new RecordHolder();
holder.productName = (TextView) child.findViewById(R.id.grid_text); // fname is the reference to a textview
holder.image = (ImageView) child.findViewById(R.id.grid_image);
child.setTag(holder);
}else{
holder = (RecordHolder) child.getTag();
}
final Product user = dbProducts.get(position);
holder.productName.setText(user.getNAME());
for(int i=0;i<dbImages.size();i++)
{
if(dbImages.get(i).PID.equals(user.PID))
{
//holder.image is my image holder
//This is where the URL should be accessed and image to be added
String URL = dbImages.get(i).URL;
}
else
continue;
}
return child;
}
那么,如何在此代碼中實現ImageLoader並訪問我指定的URL? :)
看看Picasso庫: https : //github.com/square/picasso
它照顧您需要的一切。 它將圖像加載到您的ImageView中,甚至支持緩存。 它很容易使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.