1

以下のボタンをクリックすると、Titanium Appcelerator がリストビュー コード内のテキストを更新できません。

{
            type : 'Ti.UI.View',
            bindId : 'vwqtySelection',
            properties : {
                top : '30dp',
                height : '50dp',
                //backgroundColor: 'red',
                width : require('main').XhdpiSupport(150),
                right : '90dp',
                zIndex : 10

            },
            childTemplates : [{
                type : 'Ti.UI.Button',
                bindId : 'btnMinus',
                properties : {
                    left : '15dp',
                    color : '#676972',
                    title : '-',
                    width : require('main').XhdpiSupport(30),
                    height : require('main').XhdpiSupport(22),
                }

            }, {
                type : 'Ti.UI.Label',
                bindId : 'qtyValue',
                properties : {
                    //touchenabled : false,
                    left : '50dp',
                    color : '#676972',
                    text : '4',
                    textAlign : 'center',
                }

            }, {
                type : 'Ti.UI.Button',
                bindId : 'btnPlus',
                properties : {
                    left : '79dp',
                    color : '#676972',
                    title : '+',
                }
            }]  
        }

> ボタンのクリックでテキストを更新する項目クリックの選択 ボタンのクリックでテキスト を更新したい ie 4 to 2

以下のコードを試しました

    scrlView.addEventListener('itemclick', function(e) {

         if (e.bindId === 'btnMinus') {
             item = section.getItemAt(e.itemIndex);
                e.section.qtyValue.properties.text = "2";
                e.section.updateItemAt(e.itemIndex, item); 
               //here not able to  update text 4 to 2 
        } else if (e.bindId === 'btnPlus') {

        }
}};

以下のエラー メッセージ: Uncaught TypeError: 未定義のプロパティ 'properties' を読み取れません

4

1 に答える 1

1

これは、 で UI 要素を編集する方法の例ですlistView。それぞれには、数字とプラス ラベルを含むListItemが含まれてLabelいます。プラス ラベルをクリックすると、その listItem の数字がインクリメントされます。

index.xml ファイル:

<ListView id="listView" class="listView" defaultItemTemplate="template">
    <Templates>
        <ItemTemplate name="template" layout='horizontal'>
            <Label bindId="number" id="number" left=20>0</Label>
            <Label bindId="add" id="add" right=20 onClick="addOneToCurrentNumber">+</Label>
        </ItemTemplate>
    </Templates>

    <ListSection>
        <ListItem number:text='0' />
        <ListItem number:text='-50' />
        <ListItem number:text='100' />
        <ListItem number:text='1024' />
    </ListSection>
</ListView>

index.js ファイル:

function addOneToCurrentNumber(e) {
    var row = $.listView.sections[0].getItemAt(e.itemIndex);
    var number = parseInt(row.number.text);
    number++;
    row.number.text = number;
    $.listView.sections[0].updateItemAt(e.itemIndex, row, { animated:true });
}

これがお役に立てば幸いです。変更が必要な場合はお知らせください。

于 2015-04-14T18:12:32.577 に答える