android - On Button Click in recyclerview how to increment counter and show in textview -


i working on app displays images using recycler view , volley.i have imageview, textview , buttons in each card. trying add functionality button when clicked, count number of clicks , display in textview. getting error "variable 'count' assesed within inner class,needs declared final" trying this.what doing wrong? code

import android.content.context; import android.media.image; import android.support.v7.widget.recyclerview; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.button; import android.widget.imagebutton; import android.widget.progressbar; import android.widget.textview;  import com.android.volley.toolbox.imageloader; import com.android.volley.toolbox.networkimageview;  import org.w3c.dom.text;  import java.util.arraylist; import java.util.list;  /**  * created belal on 11/9/2015.  */ public class cardadapter extends recyclerview.adapter<cardadapter.viewholder> {       //imageloader load image     private imageloader imageloader;     private context context;      //list store superheroes     list<superhero> superheroes;      //constructor of class     public cardadapter(list<superhero> superheroes, context context){         super();         //getting superheroes         this.superheroes = superheroes;         this.context = context;     }      @override     public viewholder oncreateviewholder(viewgroup parent, int viewtype) {         view v = layoutinflater.from(parent.getcontext())                 .inflate(r.layout.superheroes_list, parent, false);         viewholder viewholder = new viewholder(v);         return viewholder;     }        @override     public void onbindviewholder(viewholder holder, int position) {          int count = 0;          //getting particular item list         superhero superhero =  superheroes.get(position);          //loading image url         imageloader = customvolleyrequest.getinstance(context).getimageloader();         imageloader.get(superhero.getimageurl(), imageloader.getimagelistener(holder.imageview, r.drawable.image, android.r.drawable.ic_dialog_alert));          //showing data on views         holder.imageview.setimageurl(superhero.getimageurl(), imageloader);         holder.textviewname.settext(superhero.getname());         holder.textviewpublisher.settext(superhero.getpublisher());         holder.textviewlikes.settext(superhero.getlikes());         holder.txtcount.settext(string.valueof(count));         holder.custom_button.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 count ++;                   }              });     }        @override     public int getitemcount() {         return superheroes.size();     }        class viewholder extends recyclerview.viewholder{         //views         public networkimageview imageview;         public textview textviewname;         public textview textviewpublisher;         public textview textviewlikes;         public textview txtcount;         public imagebutton custom_button;         //initializing views         public viewholder(view itemview) {             super(itemview);             imageview = (networkimageview) itemview.findviewbyid(r.id.imageviewhero);             textviewname = (textview) itemview.findviewbyid(r.id.textviewname);             textviewpublisher = (textview) itemview.findviewbyid(r.id.textviewpublisher);             textviewlikes = (textview) itemview.findviewbyid(r.id.textviewlikes);             txtcount = (textview)itemview.findviewbyid(r.id.txtcount);             custom_button = (imagebutton) itemview.findviewbyid(r.id.custom_button);         }       }  } 

place holder.txtcount.settext(string.valueof(count)); inside onclick function , declare int count =0; below declare class. this

public class cardadapter extends recyclerview.adapter<cardadapter.viewholder> { 

int count =0;

  //imageloader load image     private imageloader imageloader; 

Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -