jquery mobile listview外观和感觉不工作android 2.3.3?

时间:2014-02-21 07:02:27

标签: android listview jquery-mobile cordova

我正在使用phonegap + Jquery mobile开发Android应用程序。我的应用程序在listview div中显示列表,但listview的外观和感觉不适用于2.3.3并且在大于3.0的版本上正常工作。 以下是我的index.html页面。请建议我回答。

    <!DOCTYPE HTML>
<html>
    <head>

        <title>ListView</title>
        <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
        <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
        <link rel="stylesheet"  href="js/jquery.mobile-1.4.1.css" />
        <script src="js/jquery-1.10.2.min.js"></script>
        <script src="cordova.js"></script>
        <script src="js/jquery.mobile-1.4.1.js"></script>

    </head>
    <body>
        <div data-role="page" id="courseList">
            <div data-theme="a" data-role="header">
                <h3>
                    Course List
                </h3>
             </div> 
            <div data-role="content">    
                <!-- <div class="example-wrapper" data-iscroll> -->
                     <ul data-role="listview" id="output" data-theme="b">
                    </ul> 
                <!-- </div> -->
            </div>  
         </div>
  </body>
  <script>

$(document).ready(function() {

    if(window.isphone) {
        document.addEventListener("deviceready", onDeviceReady, false);
    } else {
        onDeviceReady();
    }

});

// device APIs are available
function onDeviceReady() {
    // Now safe to use device APIs
     $.ajax({
        url:"http://www.cilibrary.ojaswitech.com/getLatestNews",
       // crossDomain: true,
        //type       : "POST",
        dataType: 'json',
        async: true,
        success: function (result) {
             $.each(result, function(i, item) {
                    $('ul').append('<li><a href="">' + item + '<p></li>');
                 });
        $('#output').listview("refresh"); 
        },
        error: function (xhr, ajaxOptions, thrownError) {
             alert(xhr.status);
             alert(thrownError);
        }
    })    
} 
</script>
</html>

以下是两张图片。首先是左侧图像2.3.3,第二个是右侧图像4.2.2

enter image description here

2 个答案:

答案 0 :(得分:0)

这是一个已知的错误,它在版本1.4.1中引入并影响Android 2.3.x设备和IE8。问题出在3195的行3222jquerymobile.js。有default属性恰好是保留关键字。

您可以通过修改这两行来解决这个问题;

duration = $.fn.animationComplete.default; // this
duration = $.fn.animationComplete.defaultDuration; // to this
// and
$.fn.animationComplete.default = 1000; // this
$.fn.animationComplete.defaultDuration = 1000; // to this

或等到版本1.4.2出现此错误的修复程序。

Reference

答案 1 :(得分:0)

实际上可能有更简单的方法。尝试更换:

$('#output').listview("refresh"); 

代之以:

$('#output').listview("create");

=)祝你好运!
丹尼