0

我注意到奇怪的事情 - 当我将 ScrollableView 放入 SwapView 并以编程方式(单击按钮后)更改 SwamView 中的视图并接下来将焦点(单击列表中的一个元素)以在 ScrollableView 中列出时,第一个视图出现在此列表下方在当前主视图的 ScrollableView 中(两者同时可见 - 一个叠加在另一个上)。我在 PhoneGap 中将它用作 Android 项目。我使用的 Dojo 版本是 1.9。

我的代码是:

<div id="view1" data-dojo-type="dojox/mobile/SwapView">
<div data-dojo-type="dojox.mobile.ContentPane" data-dojo-props='href:"page1.html", parseOnLoad: false, onLoad:NewClientForm.loadForm'></div>
</div>

<div id="view2" data-dojo-type="dojox/mobile/SwapView">
<div data-dojo-type="dojox.mobile.ContentPane" id="cview2" data-dojo-props='href:"page2.html", parseOnLoad: true'></div>
</div>

和 page2.html

<div id="offer_page">
<div class="pageLogo">
    <img src="theme/images/logo.png" alt="" />
</div>

<header>
    <h1 id="offer_page_client_name_header"> </h1>
</header>

<div id="new_client_nav_menu" class="pageNavMenu">
    <div>menu</div>
</div>
<div id="new_client_nav_settings" class="pageNavSettings">
    <div>set</div>
</div>
<div class="pageNavPrev">
    <div id="offer_page_nav_prev" class="pageImageLink" data-dojo-type="dojox/mobile/Button" data-dojo-props='onClick: OfferPageForm.prevButton'><img src="theme/images/nav_prev.png" alt="" /></div>
</div>
<div class="pageNavNext">
    <div id="offer_page_nav_next" class="pageImageLink" data-dojo-type="dojox/mobile/Button" data-dojo-props="onClick: OfferPageForm.nextButton"><img src="theme/images/nav_next.png" alt=""></div>
</div>

<ul data-dojo-type="dojox/mobile/TabBar" data-dojo-props='barType:"standardTab", center:false'>
    <li data-dojo-type="dojox/mobile/TabBarButton" data-dojo-props='selected:true, moveTo:"tab1"'>Client data</li>
    <li data-dojo-type="dojox/mobile/TabBarButton" data-dojo-props='moveTo:"tab2"'>Needs analysis</li>
    <li data-dojo-type="dojox/mobile/TabBarButton" data-dojo-props='moveTo:"tab3"'>Offers</li>
    <li data-dojo-type="dojox/mobile/TabBarButton" data-dojo-props='moveTo:"tab4"'>Simulations</li>
</ul>

<div id="tab1" data-dojo-type="dojox.mobile.View" class="tabView">
    Client data:
</div>

<div id="tab2" data-dojo-type="dojox.mobile.View" class="tabView">
    Needs analysis
</div>

<div id="tab3" data-dojo-type="dojox.mobile.View" class="tabView">
    <div class="offersLeftPanel">
        <div class="offersLeftPanelTableHeader">
            <div class="offersLeftPanelTableDate">Creation date</div>
            <div class="offersLeftPanelTableProduct">Product</div>
            <div class="offersLeftPanelTableName">Name</div>
            <div class="offersLeftPanelTableRisk">Risk Profile</div>
            <div class="offersLeftPanelTableStatus">Status</div>
            <div class="offersLeftPanelTableSigned">Signed</div>
            <div class="offersLeftPanelTableActions">Actions</div>
        </div>
        <div data-dojo-type="dojox.mobile.ScrollableView" data-dojo-props="height: '88%'">
            <ul data-dojo-type="dojox/mobile/EdgeToEdgeList">
                <li data-dojo-type="dojox.mobile.ListItem" class="offersLeftPanelTableRow">
                    <div class="offersLeftPanelTableDate">2013-03-25 08:00</div>
                    <div class="offersLeftPanelTableProduct">iSave Target</div>
                    <div class="offersLeftPanelTableName">iSavetarget-Medium-1</div>
                    <div class="offersLeftPanelTableRisk">Neutral</div>
                    <div class="offersLeftPanelTableStatus">New</div>
                    <div class="offersLeftPanelTableSigned">No</div>
                    <div class="offersLeftPanelTableActions"></div>
                </li>
                <li data-dojo-type="dojox.mobile.ListItem" class="offersLeftPanelTableRow">
                    <div class="offersLeftPanelTableDate">2013-03-25 08:00</div>
                    <div class="offersLeftPanelTableProduct">iSave Target</div>
                    <div class="offersLeftPanelTableName">iSavetarget-Medium-1</div>
                    <div class="offersLeftPanelTableRisk">Neutral</div>
                    <div class="offersLeftPanelTableStatus">New</div>
                    <div class="offersLeftPanelTableSigned">No</div>
                    <div class="offersLeftPanelTableActions"></div>
                </li>
                             ...
                             </ul>
        </div>

    </div>
    <div class="offersRightPanel">
        <div data-dojo-type="dojox/mobile/Button" class="offersOtherNeedsButton">Other uncovered needs</div>

        <div class="offersBottomButtons">
            <div data-dojo-type="dojox/mobile/Button" class="offersConsolidateButton">Consolidate offers and issue</div>
            <div data-dojo-type="dojox/mobile/Button" class="offersIssueButton">Issue proposal</div>
        </div>
    </div>
</div>

<div id="tab4" data-dojo-type="dojox.mobile.View" class="tabView">
    Simulations
</div>

page1.html 看起来非常相似,但是没有列表和 ScrollableViews。

有趣的是,它并非每次都发生,也不是在我有机会测试它的每台设备上都发生(我在三星 Galaxy Tab 2 上测试过?-在这里我注意到了这个问题,华硕变形金刚和一个“无名”)。

提前感谢您的帮助。

4

1 回答 1

0

您 page2.html 中的 HTML 似乎格式不正确(顶层未关闭)。除此之外,您发布的 HTML 使用了缺少的 JavaScript 和 CSS 片段。总之,我无法正确运行您的代码以查看是否可以重现。

另一方面,dojox/mobile/tests (test_SwapView.html) 中的一个 SwapView 测试包含一个按钮,该按钮以编程方式转换到交换视图 - 非常接近您所描述的。您是否使用此示例进行重现,或者您可以修改它以重现您的问题?

最后,告诉你在哪里复制设备的 Android 版本也会有所帮助。

于 2013-07-31T09:43:20.640 回答