Android onBackPressed在SearchView处于活动状态时不会触发

问题描述

我的应用中有两个搜索视图,一个位于另一个视图之下。当我展开两个搜索视图并尝试通过单击设备后退按钮关闭SearchViews时。然后,光标始终从第二搜索视图移动到第一和第一搜索视图。但是onBackpressed根本不会触发。

override fun onBackpressed() {
        if (!searchViewOne.isIconified) { // It is not triggering here on back press
         // Todo something here
        }
}

问题:当SearchView处于活动状态时,onBackpressed没有触发

期望:要同时关闭两个SearchViews onBackpressed

注意:这仅在Android OS 6.0(API

有什么想法要解决吗?

解决方法

因此,我通过在初始搜索视图中将isFocusable设为false来解决了这个问题。

searchViewOne.isFocusable = false
searchViewTwo.isFocusable = false

现在onBackPress被触发,问题得到解决。