更改表视图中选定行的图像

Change a image of a selected row in a tableview

本文关键字:图像 视图      更新时间:2023-09-26

我有一个包含多行的表视图。我需要更改单击行上的图像。

我的代码:

function ConstruyoMenuLateral(){
  var db = Ti.Database.open('Termolink');
  var rows = db.execute('SELECT * FROM TablaAuxiliar ORDER BY TablaAuxiliar.Nombre');
  NRegistros=ComprueboRegBD();
  var i;
  for (i=0;i<NRegistros;i++){
    TablaNombreTermostatos[i]= rows.field(2);
    var nuevaRow=Ti.UI.createTableViewRow({height:80}); 
    var titulo1=Ti.UI.createLabel({
        id: "NombreTerm",
        text: TablaNombreTermostatos[i],
        color: "black" ,
        textAlign: Ti.UI.TEXT_ALIGNMENT_LEFT, 
        left:20,
        top:5
    });
    var boton4=Ti.UI.createImageView({
        id: "BotonTerm",
        top: 15,
        left: 310,          
        image: "/Teclado open.png"
    });
    nuevaRow.add(titulo1);
    nuevaRow.add(boton4);
    $.MenuLateral.appendRow(nuevaRow);
    rows.next();
  }     
  db.close();       
}
$.MenuLateral.addEventListener('click', function(e){
    if (e.source.id!="BotonTerm") AbrePrincipal();
    else{
        if (EmisorSeleccionado==e.index) {
            $.MenuLateral(e.index).boton4.image="/Teclado close.png";
            EmisorSeleccionado=999;//ya estaba seleccionado, quito selección                
        }   
        else {
            //
            $.MenuLateral(e.index).boton4.image="/Teclado open.png";
        }
    }
    ActualizaPantalla();
});

当我单击BotonTerm时,我需要更改此行的图像。但是$.MenuLateral(e.index).boton4.image="/Teclado close.png";崩溃了。

我怎样才能做到这一点?

点击行到:

var rowSelected=e.row;

并使用updateRow 方法进行更新