Skip to content

Create ViewHolder

Prashant Solanki edited this page Dec 14, 2015 · 3 revisions

###Create a ViewHolder.


Your ViewHolder should extend SnapViewHolder. Constructor and 3 of it's methods should be overridden.

public class ViewHolderProduct extends SnapViewHolder<SimpleProduct> { 
 
    final TextView title;
 
    public VhProductList(View itemView, Context context) {
        super(itemView, context);
        //Initiate views Here.
        initViews(); 
    } 
 
    private void initViews() { 
        title = (TextView) itemView.findViewById(R.id.product_title);
        thumbnail= (ImageView) itemView.findViewById(R.id.product_image);
    } 
 
    @Override 
    public void setData(SimpleProduct data, int pos) {
        //Set Data in the ViewHolder.
        title.setText(data.getTitle()); 
    } 
 
    @Override 
    public void animateViewHolder(SnapViewHolder viewHolder, int position) {
        //Apply Animations to ViewHolder. 
        viewHolder.itemView.startAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.gp_slide_in_bottom));
    }

    @Override
    public void attachOnClickListeners(SnapViewHolder snapViewHolder, SocialMediaInfo socialMediaInfo, int i) {
        snapViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(), "Item Clicked", Toast.LENGTH_SHORT).show();
            }
        });
    } 
} 

ViewHolder is done you may now continue to initialize the Adapter.

Clone this wiki locally