首页 > 解决方案 > “X”图标在屏幕旋转时从 SearchView 中消失

问题描述

我正在通过搜索处理配置更改,它正在工作,但它会导致奇怪的行为,我希望我能正确描述它:

当屏幕第一次加载时,一切正常。

当我旋转屏幕并打开搜索视图时,有两种情况:有文本,没有文本。

如果没有文本 - 我打开没有任何文本的搜索视图,但“X”图标(负责关闭SearchView)消失了。

如果有文本 - 我用文本打开搜索视图,有一个“X”图标,但是当我点击它时,清除文本(在这种情况下应该这样做),但再次,“X”图标关闭SearchView缺少

所以基本上我只是无法关闭搜索视图。

onCreateOptionsMenu

searchView.maxWidth = Int.MAX_VALUE
if (isSearchMenuOpen) { //flag if search view active or not
    searchView.onActionViewExpanded()
    searchView.setQuery(searchQuery, false)
    (activity as AppCompatActivity?)?.supportActionBar?.setDisplayHomeAsUpEnabled(false) // TODO: Realese on back button
}

标签: androidandroid-layoutkotlin

解决方案


你不应该操纵width这个小部件。您正在设置searchView.maxWidth = Int.MAX_VALUE,这导致屏幕“推出”关闭-X 图标。删除这一行


推荐阅读