当我们单击 android 设备中的后退按钮时,Sencha 触摸选择字段没有关闭
Posted
技术标签:
【中文标题】当我们单击 android 设备中的后退按钮时,Sencha 触摸选择字段没有关闭【英文标题】:Sencha touch select field is not closing when we clicks the back button in android device 【发布时间】:2012-09-24 06:55:12 【问题描述】:我已经使用 sencha touch 2 完成了应用程序。后台逻辑通过应用程序中的路由进行维护。后台逻辑在 ipad/android 设备中运行得非常好。当我们单击设备中的后退按钮未关闭弹出选择字段弹出窗口时,一个问题是在 android 设备中引起问题。在此页面中,我有选择字段,当单击选择字段时,它将显示带有选项 cancel 的选择字段弹出窗口strong> 和 完成,我不会直接选择任何选项,我会在 android 设备中按下后退按钮。它没有关闭弹出窗口,但它会返回上一页,但选择字段弹出窗口仍然打开而不关闭。 我需要在 Android 设备中单击后退按钮时关闭底部选择字段弹出窗口。 谁能告诉我如何实现这一点。我附上了选择字段弹出的屏幕截图以供更多参考。
【问题讨论】:
【参考方案1】:没有看到任何代码,我猜你要么创建了自己的弹出窗口,要么在选择字段上将 usePicker 设置为 false。
为什么会这样?不会设置 usePicker: true,满足您的解决方案吗?
无论如何,请务必处理手头的问题,并根据您提供的信息,我会在您的弹出窗口(或 css 类)上设置一个 id,以便您在任何相关的路由功能中识别它如果它们可见则隐藏它们
var popupElement = findYourPopup(); //Ext.getCmp("popup") || ParentEl.query("cssclass") etc.
if (popupElement && !popupElement.isHidden())
popupElement.hide();
希望对您有所帮助!
【讨论】:
感谢您的回复,抱歉回复晚了。正如你所建议的,我设置了 usePicker: true ,这似乎不起作用。采用另一种隐藏元素的方法会按预期隐藏叠加层,但会干扰先前的视图。我在 android 中遇到了这个问题,它在 ipad/iphone 中工作得非常好。 你能解释一下它是如何干扰之前的观点的吗?也许我可以提供进一步的帮助。还有一些代码可以帮助我们了解您是如何设置解决方案的。【参考方案2】:你也可以像这样处理硬件后退按钮:
if (Ext.os.is('Android'))
document.addEventListener("backbutton", Ext.bind(onBackKeyDown, this), false);
function onBackKeyDown(eve)
eve.preventDefault();
//do something
alert('back button pressed');
【讨论】:
以上是关于当我们单击 android 设备中的后退按钮时,Sencha 触摸选择字段没有关闭的主要内容,如果未能解决你的问题,请参考以下文章
当我单击浏览器后退按钮或移动设备后退按钮时,保留选定的选项卡
Android:为EditText打开键盘时处理后退按钮单击