更改tableview中所选行的图像

时间:2016-05-11 15:23:01

标签: javascript appcelerator appcelerator-titanium

我有一个包含多行的tableview。我需要更改点击的行上的图像。

我的代码:

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";崩溃了。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

点击行:

var rowSelected=e.row;

并使用方法updateRow

进行更新