titanium - clear views in ScrollableView -


i have titanium project alloy. in screen have scrollableview. when open screen need remove views of screen, can't.

principal.xml

<scrollableview id="emisorview" onscrollend="cambioemisor" top="10%"  height="10%" width="100%" backgroundcolor="#fff"> </scrollableview>     

principal.js

function construyoemisores(){  var db = ti.database.open('termolink'); var rows = db.execute('select * regulaciones order regulaciones.nombre,regulaciones.serie');  nregistros=comprueboregbd();  (i=0;i<$.emisorview.views.length;i++){     $.emisorview.removeview($.emisorview.views[i]); }  var i;  var serieenqueestoy=0;  (i=0;i<nregistros;i++){     tablanombretermostatos[i]= rows.field(2);      if (rows.field(0)==serie) serieenqueestoy=i; //esto es para posicionar en el seleccionado      var nuevaview=ti.ui.createview();         var titulo1=ti.ui.createlabel({         id: "nombreterm",         text: tablanombretermostatos[i],         color: "#b0acb1" ,         textalign: ti.ui.text_alignment_left,          left:"44%",         top:"33%"     });     var imagen1=ti.ui.createimageview({         id: "radiador",                  image: "/figura radiador.png",         height: "60%",         left:"32%",         top:"20%"     });     if (ti.platform.name=="iphone os") {         imagen1.left = "13%";     }      nuevaview.add(imagen1);     nuevaview.add(titulo1);                               $.emisorview.addview(nuevaview);      rows.next(); }         db.close();   $.emisorview.scrolltoview(serieenqueestoy);  } 

when run first time ok, in times scrollableview have more , more views.

any suggestions clear scrollableview??

i work titanium 5.3.1, alloy, android , ios.

new version. don't run

$.emisorview.cleanup = function() {  $.destroy(); $.off(); //null objects here  };  function construyoemisores(){  var db = ti.database.open('termolink'); var rows = db.execute('select * regulaciones order regulaciones.nombre,regulaciones.serie');  nregistros=comprueboregbd();  var cuantosviews=$.emisorview.views.length;  (i=0;i<cuantosviews;i++){     $.emisorview.views[parseint(parseint(i))].cleanup && $.emisorview.views[parseint(parseint(i))].cleanup();     $.emisorview.removeview($.emisorview.views[i]);     $.emisorview.views[i]=null; }  var i;  var serieenqueestoy=0;  (i=0;i<nregistros;i++){     tablaserietermostatos[i]=rows.field(0);     tablapintermostatos[i]=rows.field(1);     tablanombretermostatos[i]= rows.field(2);     tablatempertermostatos[i]= rows.field(345);     tablaconsignatermostatos[i]= rows.field(5);     tablaestadotermostatos[i]= rows.field(344);      if (rows.field(0)==serie) serieenqueestoy=i; //esto es para posicionar en el seleccionado      var nuevaview=ti.ui.createview();         var titulo1=ti.ui.createlabel({         id: "nombreterm",         text: tablanombretermostatos[i],         color: "#b0acb1" ,         textalign: ti.ui.text_alignment_left,          left:"44%",         top:"33%"     });     var imagen1=ti.ui.createimageview({         id: "radiador",                  image: "/figura radiador.png",         height: "60%",         left:"32%",         top:"20%"     });     if (ti.platform.name=="iphone os") {         imagen1.left = "13%";     }      nuevaview.add(imagen1);     nuevaview.add(titulo1);                               $.emisorview.addview(nuevaview);     //$.emisorview.insertviewsat(i,nuevaview);      rows.next(); }         db.close();  $.emisorview.scrolltoview(serieenqueestoy);      } 

definitive version, run

var cuantosviews=$.emisorview.views.length;  (i= cuantosviews;i>0;i--){    $.emisorview.removeview($.emisorview.views[i-1]);    $.emisorview.views[i-1]=null; } 

thanks people. problem loop must end start. remove views fine.

if trying remove scrollableviews, don't use remove() or removeallchildren() methods, removeview() method.

this how can remove scrollableview views, , cleanup them:

if($.scrollableview.views && parseint($.scrollableview.views.length)) for(var = parseint($.scrollableview.views.length); > 0; i--) if($.scrollableview.views[parseint(parseint(i)-1)]) {      $.scrollableview.views[parseint(parseint(i)-1)].cleanup && $.scrollableview.views[parseint(parseint(i)-1)].cleanup();     $.scrollableview.removeview($.scrollableview.views[parseint(parseint(i)-1)]);     $.scrollableview.views[parseint(parseint(i)-1)] = null; } 

this example of view: view.xml

<view id="view">     <label id="title"/> </view> 

view.js

$.title.text = 'test';  $.view.cleanup = function() {      $.destroy();     $.off();     //null objects here }; 

Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -