Android 当我选择了一个视图并向下滑动状态栏时,当我再次提起它时,该视图未被选中
因此,我有带按钮的Android 当我选择了一个视图并向下滑动状态栏时,当我再次提起它时,该视图未被选中,android,button,kotlin,fragment,statusbar,Android,Button,Kotlin,Fragment,Statusbar,因此,我有带按钮的Fragment,当用户单击其中一个按钮时,它们被选中,如下所示: override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) (currentFragment as? ActivityActionsListener)?.onWindowFocusChanged(hasFocus) } 要将按钮设置为选中状态,我首先将onTouchLi
Fragment
,当用户单击其中一个按钮时,它们被选中,如下所示:
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
(currentFragment as? ActivityActionsListener)?.onWindowFocusChanged(hasFocus)
}
要将按钮设置为选中状态,我首先将onTouchListener
设置为按钮
,这样做:
override fun onTouch(view: View?, event: MotionEvent?): Boolean {
view?.isPressed = true
if (event?.actionMasked == ACTION_UP) {
view?.performClick()
}
return true
}
但当我向下拉状态栏时,按钮被取消选择,如下所示:
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
(currentFragment as? ActivityActionsListener)?.onWindowFocusChanged(hasFocus)
}
我想要的是按钮
始终处于选中状态,但是当我拉起状态栏
时,不会调用onResume
,因此我不知道是否发生了这种情况
为什么会这样?在向上或向下拉动状态栏时,是否有调用的回调 活动恢复后,您可以再次尝试设置选择
在OnResume方法中
希望这有帮助
或者发布您的代码结果表明,在这种情况下调用的唯一回调是活动
中的onWindowFocusChanged(hasFocus:Boolean)
,但是片段
中没有发生任何事情,因此我创建了一个接口:
interface ActivityActionsListener {
fun onWindowFocusChanged(hasFocus: Boolean)
}
我在片段中实现,并从活动调用如下内容:
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
(currentFragment as? ActivityActionsListener)?.onWindowFocusChanged(hasFocus)
}
在片段中
:
fun onWindowFocusChanged() {
setupButtons()
}
当状态栏
隐藏时,不会调用onResume