android - Get the position in a ListView of a Spinner and get its selected value -


i implemented arrayadapter listview:

public class calcamrlistadapter extends arrayadapter<amrstatelistentry> implements onitemselectedlistener {      public calcamrlistadapter(context context, list<amrstatelistentry> entries) {         super(context, r.layout.activity_calc_amr_fragment_row, entries);     }      @override     public view getview(int position, view convertview, viewgroup parent) {         amrstatelistentry entry = this.getitem(position);         viewholder viewholder = null;         layoutinflater inflater = null;          if(convertview == null) {             viewholder = new viewholder();             inflater = layoutinflater.from(this.getcontext());             convertview = inflater.inflate(r.layout.activity_calc_amr_fragment_row, parent, false);             viewholder.spinneractivity = (spinner) convertview.findviewbyid(r.id.calc_amr_row_spinner_activity);             viewholder.spinnerhours = (spinner) convertview.findviewbyid(r.id.calc_amr_row_spinner_hours);             viewholder.textviewpal = (textview) convertview.findviewbyid(r.id.calc_amr_row_textview_pal);             viewholder.imagebuttondelete = (imagebutton) convertview.findviewbyid(r.id.calc_amr_row_button_delete);             convertview.settag(viewholder);         } else {             viewholder = (viewholder) convertview.gettag();         }          string pal = null;          switch (entry.getactivity()) {         case 1: pal = "" + 0.95;             break;         case 2: pal = "" + 1.2;             break;         case 3: pal = "" + 1.5;             break;         case 4: pal = "" + 1.7;             break;         case 5: pal = "" + 1.9;             break;         case 6: pal = "" + 2.4;             break;         default: pal = "";             break;         }          viewholder.spinneractivity.setselection(entry.getactivity());         viewholder.spinneractivity.setonitemselectedlistener(this);         viewholder.spinnerhours.setselection(entry.gethour());         viewholder.spinnerhours.setonitemselectedlistener(this);         viewholder.textviewpal.settext(pal);         viewholder.imagebuttondelete.setimageresource(r.drawable.ic_remove_row);          return convertview;     }      @override     public void onitemselected(adapterview<?> parent, view view, int position, long id) {      }      @override     public void onnothingselected(adapterview<?> parent) {}      private static class viewholder {         spinner spinneractivity = null;         spinner spinnerhours = null;         textview textviewpal = null;         imagebutton imagebuttondelete = null;     } } 

as can see each item of listview contains 2 spinner. in onitemselected method need position of row in listview spinner used select value , need differ between 2 spinners in 1 row. data model amrstatelistentry. need set selected values of spinners inside amrstatelistentry.

how can that?

viewholder.spinnerhours.setonitemselectedlistener(new onitemselectedlistener() {          @override         public void onitemselected(adapterview<?> parent, view view,                 int positioninspinner, long id) {             // todo auto-generated method stub          }          @override         public void onnothingselected(adapterview<?> parent) {             // todo auto-generated method stub          }     }); 

create instead. set public view getview(final int position, view convertview, viewgroup parent) position final. can use final int position inside onitemselected.

and same other spinner


Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -