2015-06-24 2 views
0

Пожалуйста, мне нужна помощь в этой области, у меня есть ListView на Appcelerator студии, как это:Appcelerator изменение студии ListItem BackgroundColor по щелчку

<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> 

В этом разделе его обновление вызова * веб-службы, так что в моих JS я объявляю EventListener так:

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

Наконец моя функция выглядит так:

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

Я попытался изменить цвет фона в списке, но в момент щелчка я улавливаю элемент, но в документах из appcelerator они «меняют» некоторые свойства, такие как цвет фона всей строки, но, таким образом, вызывают ошибку свойств не является объектом, некоторые помогают?

ответ

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 контроллер просто изменить BackgroundColor в целях своей bindId собственности, как это:

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

и все

Смежные вопросы