Android的EditText设置光标一直显示而不闪烁的问题
来源:互联网 发布:飘哪个译本好 知乎 编辑:程序博客网 时间:2024/04/29 08:30
本人最近在做的一个项目,关于EditText有这样一个需求:用户在失去当前EditText的焦点时会出发联网上传数据的操作,代码如下:
editText..setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(final View view, boolean hasFocus) {
if(!hasFocus){
//失去焦点后,,向服务器发送Http请求,将数据上传.
}else{
//用户获得焦点.
}
}
};
运行程序发现数据可以上传了。但是,通过log信息发现,当获得焦点后,每隔0.5S左右,这个Http请求就会执行一次。
本来还很奇怪的,后来无意中注意到了这个光标。果然,Log信息会随光标的消失而执行 !hasFocus的操作。那么这就麻烦了,每隔0.5S会联网一次,这…太扯淡了。
我赶紧看了看Android的EditText源代码,有关CurSor的在TextView中的:
public void setCursorVisible(boolean visible) 方法,有关光标的设置在makeBlink();方法中,可是它是个private方法,代码如下:
voidmakeBlink() {
if (shouldBlink()) {
mShowCursor = SystemClock.uptimeMillis();
if (mBlink ==null)mBlink = new Blink();
mBlink.removeCallbacks(mBlink);
mBlink.postAtTime(mBlink,mShowCursor +BLINK);
} else {
if (mBlink !=null)mBlink.removeCallbacks(mBlink);
}
}
这里面mBlink是一个实现了runnable的private类,而它恰好是每隔500ms执行一次.
好吧,这么纠结的代码,我是写不了了,不知道哪位大侠遇到过类似的问题,如果我向重写一下EditText的setCursorVisible,重新写mBlink,这个咋写啊?感觉好吃力啊…..
求大神......
- Android的EditText设置光标一直显示而不闪烁的问题
- EditText的光标不显示
- Android 设置EditText不显示光标
- android 中EditText光标不显示问题
- Android—edittext第一次显示不显示光标的
- 使用KeyboardView导致EditText光标不显示的问题
- 解决点击EditText不弹出键盘,但现实光标闪烁的问题
- EditText光标不显示问题
- EditText光标不显示问题
- edittext不显示光标的情况
- EditText不显示光标的解决方法
- listview嵌套 EditText 的光标不显示
- EditText不显示光标的解决方法
- android设置edittext光标的颜色
- Android的EditText的光标选择问题
- EditText的光标问题
- android代码中设置EditText的hint字体大小而不改变EditText的文字大小
- 解决Android的Edit Text不显示光标的问题
- Webservice系列CXF方式(一)
- TMS320 C6000系列 DSP之 CCS5.2 仿真调试小技巧
- Android多线程 笔记
- OpenGL笔记
- 进程间通信(IPC):共享内存
- Android的EditText设置光标一直显示而不闪烁的问题
- BCGControlBar功能特点详解
- 展现数据、制作表格和图表的JavaScript库
- query弹出遮罩层,可用于图片放大显示
- 向PI中写入digital snapshot值
- WebService系列中CXF方式(二)
- 新版本ffmpeg的变动整理
- Android网络连接的理解
- C#反射是什么