gpt4 book ai didi

android - 当我选择了 View 并向下滑动状态栏时,当我再次将其抬起时未选择 View

转载 作者:行者123 更新时间:2023-11-30 00:10:32 25 4
gpt4 key购买 nike

所以,我有带有按钮的 Fragment,当用户点击其中一个按钮时,它们会被选中并且看起来像这样:

enter image description here

要将按钮设置为选中状态,我首先将 onTouchListener 设置为 Button 以执行此操作:

override fun onTouch(view: View?, event: MotionEvent?): Boolean {
view?.isPressed = true
if (event?.actionMasked == ACTION_UP) {
view?.performClick()
}
return true
}

但是当我拉下 StatusBar 时,Button 被取消选择并且看起来像这样:

enter image description here

enter image description here

我想要的是 Button 一直保持选中状态,但是当我拉起 StatusBaronResume 没有被调用,所以我不知道那是否发生了。

为什么会这样?状态栏上拉或下拉时有回调吗?

最佳答案

事实证明,在这种情况下调用的唯一回调是 Activity 中的 onWindowFocusChanged(hasFocus: Boolean),但 Fragment 中没有任何反应,所以我创建了一个接口(interface):

interface ActivityActionsListener {
fun onWindowFocusChanged(hasFocus: Boolean)
}

我在 Fragment 中实现并从 Activity 调用,如下所示:

override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
(currentFragment as? ActivityActionsListener)?.onWindowFocusChanged(hasFocus)
}

fragment 中:

fun onWindowFocusChanged() {
setupButtons()
}

关于android - 当我选择了 View 并向下滑动状态栏时,当我再次将其抬起时未选择 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48208664/

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