package com.hitherejoe.bourbon.ui.shot; import android.content.Context; import android.support.v4.view.PagerAdapter; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.hitherejoe.bourbon.R; import com.hitherejoe.bourboncorecommon.data.model.Comment; import java.util.Collections; import java.util.List; public class CommentAdapter extends PagerAdapter { private Context mContext; private List<Comment> mComments; public CommentAdapter(Context context) { mContext = context; mComments = Collections.emptyList(); } public void setComments(List<Comment> comments) { mComments = comments; } @Override public Object instantiateItem(ViewGroup viewGroup, int i) { Comment comment = mComments.get(i); ViewHolder viewHolder; View child = viewGroup.getChildAt(i); // if (child == null) { View view = LayoutInflater.from(mContext).inflate(R.layout.item_comment, viewGroup, false); viewHolder = new ViewHolder(view); viewHolder.bind(comment); view.setTag(viewHolder); viewGroup.addView(view); // } else { // viewHolder = (ViewHolder) child.getTag(); // viewHolder.bind(comment); // } return viewHolder.frameLayout; } @Override public void destroyItem(ViewGroup collection, int position, Object view) { collection.removeView((View) view); } @Override public int getCount() { return mComments.size(); } @Override public boolean isViewFromObject(View view, Object o) { return view.equals(o); } class ViewHolder { TextView textView; ImageView imageView; TextView userText; View frameLayout; public ViewHolder(View frameLayout) { this.frameLayout = frameLayout; textView = (TextView) frameLayout.findViewById(R.id.text_comment); userText = (TextView) frameLayout.findViewById(R.id.text_user); imageView = (ImageView) frameLayout.findViewById(R.id.image_avatar); } void bind(Comment comment) { textView.setText(Html.fromHtml(comment.body)); userText.setText(comment.user.username); Glide.with(mContext).load(comment.user.avatarUrl).into(imageView); } } }