动态更新PhoneGap应用程序的dojox EdgeToEdge列表

时间:2011-06-13 14:30:25

标签: android list dynamic cordova dojo

我正在使用dojo toolkit和phoneGap开发一个Android应用程序,它将显示从RSS源动态更新的一些信息。

我对链接及其描述的格式有疑问:

我正在尝试更改链接以成为适合移动设备的滑动EdgeToEdge列表,但是当我尝试使用Javascript插入代码时,点击和幻灯片不起作用,尽管按钮显示。

当前的HTML部分:

<div id="slideList" dojotype='dojox.mobile.EdgeToEdgeList' transition='slide' class='mblEdgeToEdgeList' style='' widgetid='slideListInner'>
</div>  

有关剧本:

slideList = document.getElementById("slideList");   
            slideList.innerHTML=                 
            "<li dojotype='dojox.mobile.ListItem' moveto='view2' class='mblListItem' id='dojox_mobile_ListItem_0' style='' widgetid='dojox_mobile_ListItem_0'><a class='mblListItemAnchor mblListItemAnchorNoIcon'><div class='mblListItemTextBox'>Alternative</div><div class='mblArrow'></div></a></li>" + 
            "<li dojotype='dojox.mobile.ListItem' moveto='metal' class='mblListItem' id='dojox_mobile_ListItem_1' style='' widgetid='dojox_mobile_ListItem_1'><a class='mblListItemAnchor mblListItemAnchorNoIcon'><div class='mblListItemTextBox'>Metal</div><div class='mblArrow'></div></a></li>" + 
            "<li dojotype='dojox.mobile.ListItem' moveto='progressive' class='mblListItem' id='dojox_mobile_ListItem_2' style='' widgetid='dojox_mobile_ListItem_2'><a class='mblListItemAnchor mblListItemAnchorNoIcon'><div class='mblListItemTextBox'>Progressive</div><div class='mblArrow'></div></a></li>" + 
            "<li dojotype='dojox.mobile.ListItem' moveto='randb' class='mblListItem' id='dojox_mobile_ListItem_3' style='' widgetid='dojox_mobile_ListItem_3'><a class='mblListItemAnchor mblListItemAnchorNoIcon'><div class='mblListItemTextBox'>R&amp;B</div><div class='mblArrow'></div></a></li>";    

正如您所看到的,我尝试在此处将dojo脚本的输出作为纯HTML插入。我也尝试添加整个dojo,就像这样:

<div dojoType="dojox.mobile.EdgeToEdgeList" id="slideList" transition="slide" >
                <li dojoType="dojox.mobile.ListItem"
                    moveTo="view2">Alternative</li>
</div>

虽然结果令人失望。

我找到this link,这似乎差不多,但我不确定。也许我只是愚蠢地理解内容:)

有没有人遇到过和我一样的麻烦,或者想知道如何解决这个问题?也许我只是从错误的角度看待它..

---编辑---

找到一个像魅力一样的解决方案:)

var view = dijit.byId("view1");
var demoWidget = new dojox.mobile.EdgeToEdgeList();
view.addChild(demoWidget);

for(i = 0; i < numberOfLinks; i++){
    console.log(nameArray[i]);
    var childWidget = new dojox.mobile.ListItem({id:"listObject"+i, moveTo:"view2", label:nameArray[i]});
    demoWidget.addChild(childWidget);
}

2 个答案:

答案 0 :(得分:1)

找到一个像魅力一样的解决方案:)

var view = dijit.byId("view1");
var demoWidget = new dojox.mobile.EdgeToEdgeList();
view.addChild(demoWidget);

for(i = 0; i < numberOfLinks; i++){
    console.log(nameArray[i]);
    var childWidget = new dojox.mobile.ListItem({id:"listObject"+i, moveTo:"view2", label:nameArray[i]});
    demoWidget.addChild(childWidget);
}

答案 1 :(得分:1)

在我开始使用“data-dojo-type”而不是“dojoType”之前,我遇到了同样的问题。这解决了我的问题(使用dojo 1.7,顺便说一句)。