package starter.kit.rx.app.util; import android.content.Context; import android.net.Uri; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.ViewGroup; import android.widget.FrameLayout; import butterknife.ButterKnife; import com.facebook.drawee.view.SimpleDraweeView; import starter.kit.rx.app.R; import starter.kit.util.ImageLoader; public class NineGridAdapter extends support.ui.widget.NineGridAdapter { @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return SimpleViewHolder.create(parent); } @Override public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { final Uri image = getItem(position); final SimpleViewHolder viewHolder = (SimpleViewHolder) holder; viewHolder.setItemSize(itemSize); viewHolder.bind(image); } static class SimpleViewHolder extends RecyclerView.ViewHolder { protected int itemSize; public Uri image; SimpleDraweeView mThumbnailView; public void setItemSize(int itemSize) { this.itemSize = itemSize; } static SimpleViewHolder create(ViewGroup parent) { return new SimpleViewHolder(parent.getContext(), parent); } private SimpleViewHolder(Context context, ViewGroup parent) { super(LayoutInflater.from(context).inflate(R.layout.list_item_image, parent, false)); mThumbnailView = ButterKnife.findById(itemView, R.id.image_feed_thumbnail); } public void bind(Uri imageUrl) { this.image = imageUrl; FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) mThumbnailView.getLayoutParams(); params.width = itemSize; params.height = itemSize; mThumbnailView.setLayoutParams(params); ImageLoader.getInstance() .displayImageView(mThumbnailView, imageUrl, itemSize, itemSize, null); } } }