0

我已经使用 sencha touch 2 完成了应用程序。后页逻辑通过应用程序中的路由进行维护。后置逻辑在 ipad/android 设备中运行得非常好。当我们单击设备中的后退按钮未关闭弹出选择字段弹出窗口时,一个问题是在 android 设备中引起问题。在此页面中,我有选择字段,当单击选择字段时,它将显示带有选项取消完成的选择字段弹出窗口,我不会直接选择任何选项,我将按下 android 设备中的后退按钮。它没有关闭弹出窗口,但它会返回上一页,但选择字段弹出窗口仍然打开而不关闭。单击 android 设备中的后退按钮时,我需要关闭底部选择字段弹出窗口。谁能告诉我如何实现这一目标。我附上了选择字段弹出窗口的屏幕截图以供更多参考。在此处输入图像描述

4

2 回答 2

2

在没有看到任何代码的情况下,我猜测您要么创建了自己的弹出窗口,要么在选择字段上将 usePicker 设置为 false。

为什么这样?不会设置 usePicker: true,足以满足您的解决方案吗?

无论如何,请务必处理手头的问题,并根据您提供的信息,我会在您的弹出窗口(或 css 类)上设置一个 id,使您能够识别它并在任何相关的路由功能中隐藏它们,如果它们是可见的

var popupElement = findYourPopup(); //Ext.getCmp("popup") || ParentEl.query("cssclass") etc.
if (popupElement && !popupElement.isHidden()) {
    popupElement.hide();
}

希望这会对您有所帮助!

于 2012-09-24T22:17:41.077 回答
0

您还可以像这样处理硬件后退按钮:

if (Ext.os.is('Android')) {
    document.addEventListener("backbutton", Ext.bind(onBackKeyDown, this), false);

    function onBackKeyDown(eve) {   
        eve.preventDefault();

        //do something
        alert('back button pressed');

    }
}
于 2013-09-25T23:42:49.240 回答