在Android中使用时未显示微调器
我正在使用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文件夹中在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”) 另
雇员查找者
$(文档).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
}