Titanium appcelerator как обновить вид внутри списка?

У меня есть приложение Appcelerator Titanium, у меня есть Ti.UI.ListViewвид внутри (view_one.xml):

...
<ListView onItemclick="getEvaluation" id="myLisview" defaultItemTemplate="templateLm" bottom="0" top="10" onItemclick="changePage" backgroundColor="white">
    <Templates>
        <Require id="lm_items" src="common/templateLm"/>
    </Templates>  
</ListView>
...

in common / templateLm:

<Alloy>
    <ItemTemplate name="templatePageMission">
        <View bindId="evaluate" height="10dp">
            <Label text="evaluate"></Label>
        </View>
        <View bindId="stars" height="15dp"/>
    </ItemTemplate>
</Alloy>

в view_one.js:

function getEvaluation(e){
    switch(e.bindId){
        case 'evaluate':
            var item = e.section.getItemAt(e.itemIndex);
            console.log(item) // <= this is empty ????
            item.stars.backgroundColor = "red";
        break;
    }
}

и при нажатии на оценочное представление я наконец получил: undefined не является объектом (оценка item.stars.backgroundColor)

Если кто-то может помочь, это здорово, так или иначе, спасибо за это великое сообщество.

titanium,appcelerator,titanium-mobile,appcelerator-titanium,

0

Ответов: 1


0

Вы назначили itemclickсобытие дважды:

onItemclick="changePage" 

а также

onItemclick="getEvaluation"

Поэтому, если вы просто используете последний, он должен правильно поймать функцию контроллера, и элемент должен быть обновлен правильно, так как ваш код контроллера выглядит действительным.

титан, Appcelerator, титан-мобильный, Appcelerator-титан,
Похожие вопросы