android - “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
}
解决方案
你不应该操纵width
这个小部件。您正在设置searchView.maxWidth = Int.MAX_VALUE
,这导致屏幕“推出”关闭-X 图标。删除这一行
推荐阅读
- vba - Internet Explorer VBA 自动化可在除 1 台计算机之外的所有计算机上运行
- c++ - C++ 创建具有可变项目数的结构的方法
- magento - Magento 在下订单后将客户与订单相关联
- angularjs - TypeError: Object(...) is not a function at eval (platform.es5.js:79) at eval (platform.es5.js:81)
- python - 使用 python 绘制 pandas 列的交互式图
- java - 游戏的按键监听器和计时器
- javascript - (Solidity + JS)未捕获的错误:Solidity 函数的参数数量无效
- php - Kendo 导出为 PDF 生成
- c# - 在 WPF Itemscontrol 中没有正确显示结果,它在一个地方合并所有记录
- android - 在 OpenGLES 中缓冲或保留帧