gpt4 book ai didi

android - 关注结果后 Leanback Search fragment 关闭

转载 作者:行者123 更新时间:2023-11-29 16:41:58 25 4
gpt4 key购买 nike

在 Leanback 搜索 fragment 中,当我们使用键盘提交搜索并获得搜索结果时,当使用后退按钮提交搜索查询时, fragment 将关闭。我们可以看到,在按下后退按钮时,结果会获得焦点并且键盘会隐藏(如预期的那样),但在按下后退按钮时,屏幕会关闭。

我认为这是 Leanback 框架中的一个错误,因为它正在 Leanback 展示中重现。

我也发布了一个问题 https://github.com/googlesamples/leanback-showcase/issues/58

是否有禁用屏幕关闭的解决方法?

最佳答案

我找到了错误的来源。在 SearchSupportFragment 中有一个 searchBarListener,它在 onKeyboardDismiss 中将焦点放在结果上,但这在 dispatchKeyEvent 之前调用,当处理后退按钮时,结果已经聚焦并且屏幕正在关闭。

在 Leanback 团队修复它之前,我已经找到了一个 hacky 解决方案。在 onViewCreated 中,我设置了自己的 searchBarListener 并且延迟了焦点更改

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

//this is overriding the default searchResultProvider, because of a bug in it
view.findViewById<SearchBar>(R.id.lb_search_bar).setSearchBarListener(object : SearchBar.SearchBarListener {
override fun onSearchQueryChange(query: String?) {
onQueryTextChange(query)
}

override fun onSearchQuerySubmit(query: String?) {
onQueryTextSubmit(query)
}

override fun onKeyboardDismiss(query: String?) {
searchHandler.postDelayed({ focusOnResults() }, 200)
}
})
}

关于android - 关注结果后 Leanback Search fragment 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50268110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com