/**
* Created by YuGang Yang on September 24, 2015.
* Copyright 2007-2015 Laputapp.com. All rights reserved.
*/
package starter.kit.rx.app.feature.feed;
import android.content.Context;
import android.net.Uri;
import android.view.ViewGroup;
import android.widget.TextView;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.ArrayList;
import java.util.List;
import starter.kit.rx.app.R;
import starter.kit.rx.app.model.entity.Feed;
import starter.kit.rx.app.model.entity.Image;
import starter.kit.rx.app.util.NineGridAdapter;
import support.ui.widget.NineGirdView;
import support.ui.adapters.EasyViewHolder;
import support.ui.utilities.ViewUtils;
public class FeedsViewHolder extends EasyViewHolder<Feed> {
@BindView(R.id.image_feed_user_avatar) SimpleDraweeView mAvatarView;
@BindView(R.id.text_feed_username) TextView mUsernameTextView;
@BindView(R.id.text_feed_content) TextView mContentTextView;
@BindView(R.id.feed_photo_view) NineGirdView mNineGridView;
public FeedsViewHolder(Context context, ViewGroup parent) {
super(context, parent, R.layout.list_item_feed);
ButterKnife.bind(this, itemView);
mNineGridView.setNineGridAdapter(new NineGridAdapter());
mNineGridView.setStyle(NineGirdView.STYLE_GRID);
}
@Override public void bindTo(int position, Feed feed) {
mAvatarView.setImageURI(feed.userInfo.uri());
mUsernameTextView.setText(position + "->" + feed.userInfo.nickname);
mContentTextView.setText(feed.content);
ArrayList<Image> images = feed.images;
if (images != null && images.size() > 0) {
ViewUtils.setGone(mNineGridView, false);
mNineGridView.notifyDataSetChanged(buildImageUrls(feed.images));
} else {
ViewUtils.setGone(mNineGridView, true);
}
}
private List<Uri> buildImageUrls(ArrayList<Image> images) {
List<Uri> imageUrls = new ArrayList<>(images.size());
for (Image image : images) {
imageUrls.add(Uri.parse(image.url));
}
return imageUrls;
}
}