图像未加载。当我使用 ParseQueryAdapter 时它正在工作,但我认为这会使列表视图更加流畅。以前我也尝试过注释掉的代码,但这也不令人讨厌。这是我使用毕加索的 BaseAdapter 代码:
public class PicassoAdapter extends BaseAdapter {
private Context myContext;
LayoutInflater inflater;
ParseFile p;
String url;
List<String> s = new ArrayList<String>();
List<ParseFile> mpl;
static class ViewHolder{
ImageView i;
}
public PicassoAdapter(Context c,List<ParseFile> pl){
this.myContext = c;
inflater = LayoutInflater.from(this.myContext);
this.mpl = pl;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return this.mpl.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return this.mpl.get(position);
}
@Override
public long getItemId(int id) {
// TODO Auto-generated method stub
return id;
}
@Override
public View getView(int position, View v, ViewGroup parent) {
final ViewHolder viewHolder;
p = (ParseFile)getItem(position);
// TODO Auto-generated method stub
if(v == null){
v = inflater.inflate(R.layout.adapter_item3, null);
viewHolder = new ViewHolder();
viewHolder.i = (ImageView)v.findViewById(R.id.snyp_image_new);
v.setTag(viewHolder);
}
else{
viewHolder = (ViewHolder)v.getTag();
}
/*ParseQuery<ParseObject> query = ParseQuery.getQuery("Photo");
query.whereEqualTo("username", ParseUser.getCurrentUser().getUsername());
query.findInBackground(new FindCallback<ParseObject>(){
@Override
public void done(List<ParseObject> objs, ParseException e) {
// TODO Auto-generated method stub
if(objs!=null){
for(int i = 0; i < objs.size();i++){
p = objs.get(i).getParseFile("photo");
url = p.getUrl();
s.add(url);
}
}
}
});
for(int x = 0;x<s.size();x++){
Picasso.with(myContext).load(s.get(x)).into(viewHolder.i);
}
*/
Picasso.with(myContext).load(p.getUrl()).into(viewHolder.i);
return v;
}
}