Динамическое обновление dojox EdgeToEdge-списка для PhoneGap-приложения - PullRequest
1 голос
/ 13 июня 2011

Я использую инструментарий dojo вместе с 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 здесь.Я также попытался добавить целую штуку додзё, например:

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

Хотя результат был разочаровывающим.

Я нашел эту ссылку , которая, кажется, почти то же самое, но я не уверен.Может быть, я просто глуп, чтобы понять содержание:)

Кто-нибудь сталкивался с теми же проблемами, что и я, или у меня есть идея, как это решить?Может быть, я просто смотрю на это под неправильным углом ..

--- EDIT ---

Нашел решение, которое работает как шарм:)

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 ]

1 голос
/ 20 ноября 2011

У меня была такая же проблема, пока я не начал использовать «data-dojo-type» вместо «dojoType». Это решило проблему для меня (используя dojo 1.7, кстати).

1 голос
/ 16 июня 2011

Нашел решение, которое работает как шарм:)

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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...