Сохранение модели скрывает представление изображения в виде таблицы

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

Вот код просмотра noteRow.xml

<Alloy>
    <TableViewRow id="noteRow">
        <View class="noteRowSeperator"></View>
        <View id="noteRowContainer">
            <View class="noteSideBox">
                <ImageView id="noteStatus" onClick="toggleStatus"></ImageView>
            </View>
            <View class="noteContentBox">
                <Label class="noteDescription" text="{description}"/>
            </View>
        </View>
        <View class="noteRowSeperator"></View>
    </TableViewRow>
</Alloy>

Вот код контроллера noteRow.js

var moment = require('alloy/moment');

var  id;
if ($model) {
    id = $model.id;
    if ($model.get('done')) {
        $.noteRowContainer.opacity = 0.5;
        $.noteStatus.image = '/images/status_completed.png';
    } else {
        $.noteRowContainer.opacity = 1;
        $.noteStatus.image = '/images/status_not_completed.png';
    }
}

function toggleStatus(e) {
    alert(id);
    var note = Alloy.Collections.note.get(id);

    note.set({
        "done": note.get('done') ? 0 : 1,
        "completed_at": moment().format('X'),
        "updated_at": moment().format('X')
    }).save();
}

Когда модель сохраняет все ImageView с идентификатором noteStatus, просто скрывается во всех строках таблицы в представлении таблицы. Не могу понять, почему у него проблема. Пожалуйста, помогите мне разобраться.

Тип приложения: Mobile Titanium SDK: 3.1.2 Платформа: Android (Gynemotion) (также на моем устройстве Galaxy SII) Версия платформы: 4.1.1


person Nazar Hussain    schedule 30.09.2013    source источник
comment
Вы пытались добавить кнопку в строку таблицы и в случае нажатия кнопки сохранить модель? просто протестировать.   -  person Mario Galván    schedule 30.09.2013
comment
Я пробовал, но проблема все та же.   -  person Nazar Hussain    schedule 30.09.2013


Ответы (1)


Я наконец-то понял. Проблема была с view. Я обновил представление.

<Alloy>
    <TableViewRow id="noteRow">
        <View class="noteRowSeperator"></View>
        <View id="noteRowContainer">
       <ImageView id="noteStatus" onClick="toggleStatus"></ImageView>
            <View class="noteContentBox">
                <Label class="noteDescription" text="{description}"/>
            </View>
        </View>
        <View class="noteRowSeperator"></View>
    </TableViewRow>
</Alloy>

Означает, что простое удаление <View class="noteSideBox"> решило проблему. Не знаю как, но это решилось :)

person Nazar Hussain    schedule 02.10.2013