[英]Android: Stuck assigning a bitmap from Parse to an imageview
我是android的初学者,我不太了解Java,但是我有使用其他语言进行编程的经验。 我试图使ImageView显示我从Parse下载的位图。 我想让holder.eventImageFeed显示图片,但是我不知道怎么做。 我敢肯定有一种非常简单的方法来做到这一点,但是我对Java并不十分了解,无法解决它,并且我尝试了几种方法。
我了解到位图bmp超出了该类其余部分的范围,并且holder在内部类中不起作用,那么如何将bmp分配给holder.eventImageFeed?
这是我的代码:
public class FeedAdapter extends ArrayAdapter<ParseObject> {
protected Context mContext;
protected List<ParseObject> mEvent;
public FeedAdapter(Context context, List<ParseObject> event){
super(context, R.layout.feed_custom_layout, event);
mContext = context;
mEvent = event;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent){
ViewHolder holder;
if (convertView == null){
convertView = LayoutInflater.from(mContext).inflate(
R.layout.feed_custom_layout, null);
holder = new ViewHolder();
holder.usernameFeed = (TextView) convertView.findViewById(R.id.usernameFeedTextView);
holder.eventNameFeed = (TextView) convertView.findViewById(R.id.eventNameFeedTextView);
holder.eventImageFeed = (ImageView) convertView.findViewById(R.id.eventFeedView);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
ParseObject eventObject = mEvent.get(position);
//Username
String username = eventObject.getString("eventCreator");
holder.usernameFeed.setText(username);
//Event Name
String eventName = eventObject.getString("eventTitle");
holder.eventNameFeed.setText(eventName);
//Event Artwork
ParseFile fileObject = (ParseFile) eventObject.get("eventArtwork");
fileObject.getDataInBackground(new GetDataCallback() {
public void done(byte[] data, ParseException e) {
if (e == null) {
// Decode the Byte[] into
// Bitmap
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
//What do I do here?
}
}
});
你可以这样做:
holder.eventImageFeed.setImageBitmap(bmp);
或者您可以使用Picasso通过图片网址设置图片。
Picasso.with(context).load(fileObject.getUrl()).into(holder.eventImageFeed);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.