我有一个使用ListField组件的应用程序。当在ListField中单击项目时,我从管理器中删除ListField并添加其他管理器。
我的问题是,点击"事件"被传递到其他字段,这些字段由于ListField被删除而自动获得焦点。到目前为止,我唯一的解决办法是在切换组件期间使这些控件不可聚焦。
有没有一种更整洁的方法可以做到这一点,在这么短的时间内让我所有的控件都无法聚焦似乎有点像黑客。欢迎提出任何建议。
注意:在ListField的navigationClick方法中,我返回True
您也可以尝试Manager.replace。记住在此之前准备好两个字段:从旧字段中删除侦听器,向新字段添加侦听器。
更改事件顺序:
- 添加新经理
- 把焦点放在你想要的地方
- 删除旧管理器