Appcelerator工作室更改listitem backgroundcolor点击

时间:2015-06-24 22:02:51

标签: android ios titanium appcelerator appcelerator-mobile

我需要有关此主题的帮助,我在appcelerator工作室有一个列表视图,如下所示:

<ListView id="lvPropuestas" defaultItemTemplate="plantilla">
        <Templates>
            <ItemTemplate name="plantilla">                                 
                    <Label bindId="bindGarantia" class="columnG columnContentStyle"></Label>
                    <Label bindId="bindPropuesta" class="columnProp columnContentStyle"></Label>
                    <Label bindId="bindMonto" class="columnM columnContentStyle"></Label>
                    <Label bindId="bindPrima" class="columnPrim columnContentStyle"></Label>
                    <Button bindId="btnNavega" class="btnTabla" onClick="DetallePropuesta">></Button>
                    <!-- 
                    -->                 
            </ItemTemplate>
        </Templates>
        <HeaderView>
            <View backgroundColor="#E2DBD3" height="35dip">
                <Label id="headerG" class="titleStyle">GARANTIA</Label>
                <Label id="headerProp" class="titleStyle">PROPUESTAS</Label>
                <!--
                -->
                <Label id="headerM" class="titleStyle">MONTO</Label>
                <Label id="headerPrim"  class="titleStyle">PRIMA</Label>

            </View>
        </HeaderView>
        <ListSection>

        </ListSection>
    </ListView>

此部分更新了Web服务调用*,因此在我的js中我声明了一个这样的事件监听器:

$.lvPropuestas.addEventListener('itemclick',seleccionFila);

最后我的功能是这样的:

function seleccionFila(e){
    var item = e.section.getItemAt(e.itemIndex);
    item.properties.color ='#33CCCC';
    e.section.updateItemAt(e.itemIndex, item); }

我试图改变listitem的背景颜色,但是在点击的那一刻我抓住了这个项目,但是在appcelerator的文档中他们&#34;更改&#34;有些属性就像完整行的背景颜色但是,这种方式引发的属性错误不是对象,有些帮助吗?

1 个答案:

答案 0 :(得分:0)

好的,我找到了一种方法来做到这一点,我真的希望这会有所帮助,首先在视图中我放了一个包含行的所有内容的视图,并把它放在这样的bindId:

<View bindId="bindView">
    <Label bindId="bindGarantia" class="columnG columnContentStyle"></Label>
    <Label bindId="bindPropuesta" class="columnProp columnContentStyle"></Label>
    <Label bindId="bindMonto" class="columnM columnContentStyle"></Label>
    <Label bindId="bindPrima" class="columnPrim columnContentStyle"></Label>
    <Button bindId="btnNavega" class="btnTabla" onClick="DetallePropuesta">></Button>
    <!-- 
    --> 
</View>

然后在js控制器中,只需使用bindId属性更改视图的backgroundColor,如下所示:

function seleccionFila(e) {
    var item = e.section.getItemAt(e.itemIndex);
    item.bindView.backgroundColor = "#efefef";
    e.section.updateItemAt(e.itemIndex, item);
}

这就是