android - dynamically adding views and toasting it -


i'm adding views dynamically. mean that, there 1 edittext, button add, button submit.

1.onclick of button add i'm inflating new layout has 1 edittextand button remove. if button add keep on pressed add inflated layout respectively.

2.onclick of button submit has toast edittext values of inflated layout.

i'm getting last edittext toast, , toast rest of edittext didn't show. how this?

public class mainactivity extends activity implements onclicklistener { button add, submit; arraylist<view> viewlist; linearlayout lin_layout; edittext et1, et2; string s1;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);     et1 = (edittext) findviewbyid(r.id.edittext1);     add = (button) findviewbyid(r.id.button_add);     submit = (button) findviewbyid(r.id.bsubmit);     lin_layout = (linearlayout) findviewbyid(r.id.linearlayout_view);     viewlist = new arraylist<view>();     add.setonclicklistener(this);     submit.setonclicklistener(this); }  @override public void onclick(view v) {     switch (v.getid()) {     case r.id.button_add:         if (et1.length() == 0) {             toast.maketext(getapplicationcontext(),                     "filed cant left empty", 0).show();         } else {             layoutinflater layoutinflater = (layoutinflater) getbasecontext()                     .getsystemservice(context.layout_inflater_service);             final view addview = layoutinflater.inflate(                     r.layout.inflate_layout, null);             et2 = (edittext) addview.findviewbyid(r.id.edit);              viewlist.add(addview);             lin_layout.addview(addview);              button remove = (button) addview                     .findviewbyid(r.id.button_remove);             remove.setonclicklistener(new view.onclicklistener() {                  @override                 public void onclick(view v) {                      lin_layout.removeview((view) v.getparent());                     viewlist.remove((view) v.getparent());                  }             });          }         break;     case r.id.bsubmit:         s1 = et2.gettext().tostring();         toast.maketext(getapplicationcontext(), "items: " + s1,toast.length_short).show();         break;     }  }   } 

the solution simple, create instance of edittext locally, work :) now, going fine problem creates when use reference old edittext

@override public void onclick(view v) {     switch (v.getid()) {     case r.id.button_add:         if (et1.length() == 0) {             toast.maketext(getapplicationcontext(), "filed cant left empty", 0).show();         } else {             layoutinflater layoutinflater = (layoutinflater) getbasecontext().getsystemservice(context.layout_inflater_service);             final view addview = layoutinflater.inflate(r.layout.inflate_layout, null);             edittext et2 = (edittext) addview.findviewbyid(r.id.edit);             viewlist.add(addview);             lin_layout.addview(addview);             button remove = (button) addview.findviewbyid(r.id.button_remove);             remove.setonclicklistener(new view.onclicklistener() {                 @override                 public void onclick(view v) {                     lin_layout.removeview((view) v.getparent());                     viewlist.remove((view) v.getparent());                 }             });         }         break;     case r.id.bsubmit:         s1 = et2.gettext().tostring();         toast.maketext(getapplicationcontext(), "items: " + s1, toast.length_short).show();         break;     } } 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -