Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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
在Android中使用时未显示微调器_Android_Jquery Mobile_Cordova - Fatal编程技术网

在Android中使用时未显示微调器

在Android中使用时未显示微调器,android,jquery-mobile,cordova,Android,Jquery Mobile,Cordova,我正在使用WebViewClient在Android中创建Phonegap/Jquery移动应用程序,当用户单击按钮时,我希望在加载JNI/javascript函数时显示一个微调器。但是,我无法使用下面的代码执行此操作 注意:如果我删除对JNI/Javascript函数的调用,那么微调器就会如预期的那样出现。Helper是一个java类,从DroidGap onCreate()方法注册为appView.addJavascriptInterface(helperObject,“Helper”) 另

我正在使用WebViewClient在Android中创建Phonegap/Jquery移动应用程序,当用户单击按钮时,我希望在加载JNI/javascript函数时显示一个微调器。但是,我无法使用下面的代码执行此操作

注意:如果我删除对JNI/Javascript函数的调用,那么微调器就会如预期的那样出现。Helper是一个java类,从DroidGap onCreate()方法注册为appView.addJavascriptInterface(helperObject,“Helper”)

另外,如果复制粘贴为.html并通过浏览器浏览也能正常工作(当然我当时也没有调用JNI/Javascript函数),这意味着如果我有一个sleep()时间,它将显示微调器。然而,当我使用Android时,它不会显示。index.html位于assets/www文件夹中


雇员查找者
$(文档).ready(函数(){
$('#findemp')。单击(函数(){
var empNumber=$(“#employeenumber”).val();
showSpinner();
var empdetail=JSON.parse(window.Helper.getEmpDetails(empNumber));
//上面的调用需要3-4秒,是一个JNI调用,意思是调用java函数。
hidespinner();
});
});
函数showSpinner()
{
变量选项={
lines:13,//要绘制的行数
长度:7,//每行的长度
宽度:4,//线条粗细
半径:10,//内圈的半径
旋转:0,//旋转偏移量
颜色:'#000'、//#rgb或#rrggbb
速度:1,每秒//圈
轨迹:60,//余辉百分比
shadow:false,//是否渲染阴影
hwaccel:false,//是否使用硬件加速
className:'微调器',//要分配给微调器的CSS类
zIndex:2e9,//z索引(默认为2000000000)
top:'自动',//在px中相对于父对象的top位置
左:“自动”//在px中相对于父对象的左位置
};
var spinner=新微调器(opts).spin();
$(“#加载”).append(spinner.el);
}
函数hidespinner(){
$('.spinner').hide();
}
查找员工数据
页脚
第二页
名称:

页脚
Spin.js还可以,但如果您已经在使用JQuery mobile,最好使用内置微调器

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css" />
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
显示内置jquery移动微调器

$.mobile.hidePageLoadingMsg();

隐藏移动微调器

因此,使用超时功能似乎是可行的。这不是一个解决方案,但至少我看到微调器一段时间,然后执行函数

$.mobile.hidePageLoadingMsg();
$('#findemp').click(function() {

        showSpinner('#loading');
        setTimeout(function() {
        getempData();
        hidespinner();}, 1000);      
     });

function getempData()
{
    var empNumber = $("#employeenumber").val();     
    var empdetail = JSON.parse(window.Helper.getEmpDetails(empNumber));
   //transition to a result page here
}

我也试过这个。我的问题是,当我尝试通过Android执行这个html时,它不会像预期的那样在点击按钮后立即显示微调器。实际上,根本没有显示微调器。android是否需要一些特殊权限来执行此操作??我使用Android中的WebViewClient来实现这一点。感谢您的快速响应jdb1a1。我意识到我有一个调用JSON.parse(window.Helper.getEmpDetails(empNumber));虽然这需要时间,但似乎会打乱spinner的展示。如果删除此函数并添加睡眠,则会显示微调器
$('#findemp').click(function() {

        showSpinner('#loading');
        setTimeout(function() {
        getempData();
        hidespinner();}, 1000);      
     });

function getempData()
{
    var empNumber = $("#employeenumber").val();     
    var empdetail = JSON.parse(window.Helper.getEmpDetails(empNumber));
   //transition to a result page here
}