surfaceview在fragment中切换回来后会失去焦点,导致点击事件需要第二次才能生效
来源:互联网 发布:java多线程网络编程 编辑:程序博客网 时间:2024/05/19 13:19
最近有个项目用到了tabfragment,其中一个fragment中包含一个surfaceview在不断绘图,并且赋予了点击监听,但是当从其他fragment切回来时,在去点击他,onClick并没有响应,需要点击两次才会响应,不知道是为什么,后面猜测可能是焦点获取问题,surfaceview没拿到焦点,所以监听不到。所以重写了surfaceview的Ontouch方法。
@Overridepublic boolean onTouchEvent(MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: requestFocus();//在点下后,立马赋予焦点,等ACTION_UP时可以响应onClick事件 break; } return super.onTouchEvent(event);}卧槽,onClick可以响应了,真的是奇葩。至于具体为什么切换fragment后surfaceview会失去焦点,要点击一次后才能获取,还是不明白。有大神路过的话,就帮忙解下惑吧!
哦,对了,在Activity中,我用了一个跑马灯效果的textview,并且重写下面两个方法,让他‘欺骗’android一直获取‘焦点’以持续内容滚动状态,不知道是不是冲突了!
@Overrideprotected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { super.onFocusChanged(true, direction, previouslyFocusedRect);}@Overridepublic boolean isFocused() { return true;}
阅读全文
0 0
- surfaceview在fragment中切换回来后会失去焦点,导致点击事件需要第二次才能生效
- EditText点击在ListView中失去焦点
- surfaceview 失去焦点后重新创建问题
- onblur 事件会在对象失去焦点时发生。
- onblur 事件会在对象失去焦点时发生
- ToolStrip失去焦点时,点击第二次才执行事件的解决方法
- Recyclerview抢占焦点,导致切换fragment后位置错乱
- JQ点击区域,变成input框,失去焦点在变回来
- 在listview中添加togglebutton时listview会失去焦点
- 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点
- 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点
- Android中如何在Fragment中添加点击事件切换新的Fragment
- 失去焦点与点击事件冲突
- ListView更新后无法响应点击事件解决方法(失去焦点)
- input中blur失去焦点事件与点击事件冲突的解决方法
- 如何在点击特定数据时,不触发输入框失去焦点事件
- 【问题】viewpager创建fragment时 数据需要切换fragment多次才能在listview显示
- Android中导入Unity项目,界面点击事件失去焦点问题
- POJ 1083 Moving Tables
- 创建型模式—简单工厂模式
- 【剑指offer】面试题7:重建二叉树
- 前后端分离后的前端时代
- hdu 5739 点双连通分量+乘法逆元超详细讲解
- surfaceview在fragment中切换回来后会失去焦点,导致点击事件需要第二次才能生效
- 将博客搬至CSDN
- Linux 的字符串截取很有用。有八种方法。
- pip(python) && ReadTimeoutError
- Linux下用户路径的配置
- HTTP 错误 401.3
- HDU-1494-跑跑卡丁车
- 剑指offer-字符串的排列
- 浅谈Three.js源码-render之WebGLGeometries.js