簡體   English   中英

使用畢加索加載本地圖像

[英]Load local images using Picasso

我正在學習使用Picasso在GridView中加載圖像。 我嘗試加載本地可繪制圖像,但gridview顯示空白。 我在其他帖子中檢查了解決方案,但沒有找到滿意的答案。 僅發現解決方案無效。 任何建議加載本地圖像將不勝感激。

 Adapter to load images public class ImageAdapter extends BaseAdapter { private Context mContext; // Keep all Images in array public Integer[] mThumbIds = {}; public ImageAdapter(Context c){ mContext = c; } @Override public int getCount() { return mThumbIds.length; } @Override public Object getItem(int position) { return mThumbIds[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView = new ImageView(mContext); imageView.setImageResource(mThumbIds[position]); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setLayoutParams(new GridView.LayoutParams(100, 100)); Picasso.with(mContext).load(mThumbIds[position]).into(imageView); return imageView; } } 
 Fragment having gridview public class GridFrag extends Fragment{ public Integer[] mThumbIds = { R.drawable.brazil, R.drawable.colosseum, R.drawable.eiffeltower, R.drawable.greatwall, R.drawable.pyramid, R.drawable.statue, R.drawable.tajmahal }; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //Inflate the layout for this fragment View v = LayoutInflater.from(getActivity()).inflate(R.layout.frag_grid, null); GridView gridview = (GridView) v.findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(this.getActivity())); return v; } } 

您應該將數組移動到ImageAdapter 您的mThumbIds數組在適配器中為

使用以下命令更改代碼:

public class ImageAdapter extends BaseAdapter {
private Context mContext;


// Keep all Images in array
public Integer[] mThumbIds = { R.drawable.brazil, R.drawable.colosseum,
        R.drawable.eiffeltower, R.drawable.greatwall, R.drawable.pyramid,
        R.drawable.statue, R.drawable.tajmahal };


public ImageAdapter(Context c){
    mContext = c;
}


@Override
public int getCount() {
    return mThumbIds.length;
}

@Override
public Object getItem(int position) {
    return mThumbIds[position];
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {         
    ImageView imageView = new ImageView(mContext);
    imageView.setImageResource(mThumbIds[position]);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setLayoutParams(new GridView.LayoutParams(100, 100));

    Picasso.with(mContext).load(mThumbIds[position]).into(imageView);
    return imageView;
}

}

簡單

Uri uri=Uri.fromFile(new File("YOUR IMAGE FILE PATH"));
Picasso.with(mContext).load(uri).placeholder(R.drawable.ic_launcher).error(R.drawable.landscape_1).into("YOUR IMAGE VIEW");

占位符,用於在畢加索加載實際圖像時顯示樣本圖像。

錯誤:如果圖像加載失敗,則應顯示該圖像

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM