Picasso 라이브러리 picasso-2.5.2.jar을 사용하여 URL에서 이미지를로드합니다.
이것이 내 바인더 데이터입니다.
public class BinderDataImg extends BaseAdapter {
static final String KEY_IMG = "img";
LayoutInflater inflater;
List<HashMap<String,String>> imgHashmap;
ViewHolder holder;
public BinderDataImg() {
// TODO Auto-generated constructor stub
}
public BinderDataImg(Activity act, List<HashMap<String,String>> map) {
this.imgHashmap = map;
inflater = (LayoutInflater) act
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public int getCount() {
// TODO Auto-generated method stub
return imgHashmap.size();
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null){
vi = inflater.inflate(R.layout.list_img, null);
holder = new ViewHolder();
holder.iv_img =(ImageView)vi.findViewById(R.id.imageViewImg);
vi.setTag(holder);
}
else{
holder = (ViewHolder)vi.getTag();
}
String uri = imgHashmap .get(position).get(KEY_IMG);
Picasso.with(this).load(KEY_IMG).into(holder.iv_img);
return vi;
}
static class ViewHolder{
ImageView iv_img;
}
}
그러나 Picasso.with (this) .load (KEY_IMG) .into (holder.iv_img)에서 오류
를 수정하는 방법.
내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다.
읽어 주셔서 감사합니다
이것은 현재 즉 BinderDataImg 클래스 컨텍스트를 가리키며 이미지를로드하기 위해 활동 컨텍스트를 전달해야합니다.
Activity act;
public BinderDataImg(Activity act, List<HashMap<String,String>> map) {
this.imgHashmap = map;
inflater = (LayoutInflater) act
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.act = act;
}
Picasso.with(act).load(KEY_IMG).into(holder.iv_img);
또한 AndroidManifest.xml에서 네트워크에 대한 적절한 권한을 확인하십시오.
<uses-permission android:name="android.permission.INTERNET" />
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다