Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Listview 在blackberry cascades QML中编辑列表项_Listview_Blackberry_Qml_Blackberry 10_Blackberry Cascades - Fatal编程技术网

Listview 在blackberry cascades QML中编辑列表项

Listview 在blackberry cascades QML中编辑列表项,listview,blackberry,qml,blackberry-10,blackberry-cascades,Listview,Blackberry,Qml,Blackberry 10,Blackberry Cascades,我已经成功创建了一个列表视图,它填充了一个json文件,现在我正在尝试编辑列表视图项。但我在做这件事时遇到了麻烦,我不断得到错误类型错误:表达式“curData”[undefined]的结果不是对象。下面是一个示例代码,我试图在创建页面后编辑listview 这是我加载列表视图的页面 import bb.system 1.0 import bb.cascades 1.0 import bb.data 1.0 import Network.Communication 1.0 Page {

我已经成功创建了一个列表视图,它填充了一个json文件,现在我正在尝试编辑列表视图项。但我在做这件事时遇到了麻烦,我不断得到错误类型错误:表达式“curData”[undefined]的结果不是对象。下面是一个示例代码,我试图在创建页面后编辑listview

这是我加载列表视图的页面

import bb.system 1.0
import bb.cascades 1.0
import bb.data 1.0
import Network.Communication 1.0
Page {
    Container {

        id: profilePage
        layout: DockLayout {
        }

        ListView {
            id: profileListView
            dataModel: contactsData
            listItemComponents: [
                ListItemComponent {
                    id: myItem
                    type: "item"
                    CustomListItemProfilePage {
                        id: listCell
                        background: Color.create(ListItemData.color)
                        text:  ListItemData.name 

                        onClicked: {
                    console.log(listCell.text);

                        }
                    }

                }



            ]

            onTriggered: {

            }

        }

    }
    onCreationCompleted:
    {
        var curData = contactsData.data([0,0])
        curData.name = curData.name + " : "+ _settings.getValueFor("loginUserName", "No login name");
        contactsData.updateItem([0,0],curData)
        console.log("on compleete LOADED:"+contactsData.data([0,0]).toString());
        profileDataSource.load();


    }
    attachedObjects: [

        GroupDataModel {
            id: contactsData
            sortingKeys: ["order"]
            grouping: ItemGrouping.None
        },
        DataSource {
            id: profileDataSource
            source: "asset:///Model/ProfileDetails.json"
            onDataLoaded: {
                contactsData.clear();
                contactsData.insertList(data);
            }
            onError: {
                console.log("JSON Load Error: [" + errorType + "]: " + errorMessage);
            }
        }


    ]


}
这是我的示例json文件。我试图用登录后获得的实际名称替换文本名称,该名称存储在_settings.getValueFor(“loginUserName”,“无登录名称”)中

这是我的listview项的qml

import bb.cascades 1.0
import QtQuick 1.0
import "Model/floatConstants.js" as Item

Container {
    property alias text: label.text
    property TextStyleDefinition textColor:label.textStyle
    signal clicked() 

    layout: DockLayout {
    }
    preferredHeight: Item.itemHeight
    preferredWidth: 1000.0
    Container {
        background: Color.Transparent
        horizontalAlignment: HorizontalAlignment.Center
        verticalAlignment: VerticalAlignment.Center
        Container {
            horizontalAlignment: HorizontalAlignment.Center
            verticalAlignment: VerticalAlignment.Center

            Label {
                id: label
                text: "demo"
                textStyle {
                    base: textColor.style
                }

            }
            gestureHandlers: [
        TapHandler {
            onTapped: {
                clicked();
            }
        }
    ]
        }
    }

}
我刚接触黑莓,这是我的第一个黑莓项目。请让我知道这是否可行,或者是否有其他方法来实现这一点。

看看这个:

var curData = contactsData.data([0,0])
此时contactsData还没有数据,您还没有加载它。第一个电话

profileDataSource.load();

不过,我不知道为什么要使用ListView来处理这类问题。

在加载profileDataSource.load()之后,我试图设置curData,但它仍然显示相同的错误。你还建议用什么方法?
profileDataSource.load();