0

論理的に真実ではない疑わしい問題に直面しています。モデルを保存すると、テーブル行の一部の要素が非表示になります。

ここにビューコードがあります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がidを持つすべてを保存するとnoteStatus、テーブルビューのすべてのテーブル行で単に非表示になります。問題が発生する理由がわかりません。並べ方を教えてください。

アプリケーションの種類: モバイル チタン SDK: 3.1.2 プラットフォーム: Android (Gynemotion) (私のデバイスの Galaxy SII でも) プラットフォームのバージョン: 4.1.1

4

1 に答える 1

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">で問題が解決しました。方法はわかりませんが、解決しました:)

于 2013-10-02T09:23:12.100 に答える