0

我正在使用 phonegap 在我的应用程序中开发我的 android 应用程序,其中有一个 html5 页面,其中包含一些输入文本字段和一个提交按钮。

当用户在文本字段中输入值并单击提交时,它将调用一个 ajax,为了获得良好的用户体验,我通过在单击提交按钮后使 div 可见来显示来自 java 脚本的进度微调器。

在我的 MainActivity java 类中,我重写了 onBackPressed 方法,该方法将在退出应用程序之前显示确认对话框。现在我想要的是当 html5 页面中有进展时意味着进度图像的 div 可见我想阻止按下后退键但我的问题是如何识别该 div 在 java 类中的可见性当 div 可见时,我们可以在 java 活动中阻止它,否则我们允许用户通过显示确认对话框退出。

电话间隙中是否有任何内置功能可以使用,或者我们需要自己做一些事情?

4

1 回答 1

0

好吧,根据这个Link PhoneGap 有一个 API 来处理后键事件。所以你可以在你的java脚本代码中使用一个私有字段,它将一个标志设置为可见或不可见(布尔值)并相应地处理回键事件。

伪代码看起来像这样:

 <script type="text/javascript" charset="utf-8">
  var visible = false;
// Call onDeviceReady when Cordova is loaded.
//
// At this point, the document has loaded but cordova-2.6.0.js has not.
// When Cordova is loaded and talking with the native device,
// it will call the event `deviceready`.
//
function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}
function onBackKeyDown() {
    if(visible) {
     //wait
    } else {
      //finish
    }
}
function showDialog(){
     visible = true;
// your code
}
// Cordova is loaded and it is now safe to make calls Cordova methods
//
function onDeviceReady() {
    document.addEventListener("offline", onOffline, false);
    document.addEventListener("backbutton", onBackKeyDown, false);
}

// Handle the offline event
//
function onOffline() {
}

</script>
于 2013-04-16T19:30:59.320 回答