关闭软键盘后,android – Edittext光标仍会闪烁

键盘关闭后,编辑文字光标是否继续闪烁,或者是由仿真器进行测试而不会在实际设备上发生? – 正如 this discussion年的第二篇文章所指出的那样

更新:

我知道edittexts仍然有光标闪烁,因为它们仍然在焦点 – 每当edittext丢失焦点时记录消息,但是当软键盘关闭时,消息从未被记录.

更新:

我试过:

@Override
public void onBackpressed() {
    super.onBackpressed();
    getCurrentFocus().clearFocus();
}

所以每次键盘关闭时,目前处于对焦状态的EditText都会丢失该焦点,并调用onFocusChanged().问题是当键盘启动时按下后退按钮时,不会调用onBackpressed().我知道这是因为我在onBackpressed()中放了一个烤面包,而当键盘启动时按下后退按钮时,没有烤面包片显示.

解决方法

首先创建自定义编辑文本.以下是按下键盘背面关闭键盘时回拨的示例
public class EdittextListner extends EditText {

private KeyImeChange keyImechangelistener;

public EdittextListner(Context context,AttributeSet attrs) {
    super(context,attrs);
}

public void setKeyImechangelistener(KeyImeChange listener) {
    keyImechangelistener = listener;
}

public interface KeyImeChange {
    public boolean onKeyIme(int keyCode,KeyEvent event);
}

@Override
public boolean onKeyPreIme(int keyCode,KeyEvent event) {
    if (keyImechangelistener != null) {
        return keyImechangelistener.onKeyIme(keyCode,event);
    }
    return false;
}

}

其次在您的布局文件中将EditText更改为EdittextListner.

最后做以下

mLastNameEditText.setKeyImechangelistener(new EdittextListner.KeyImeChange() {
        @Override
        public boolean onKeyIme(int keyCode,KeyEvent event) {
            mLastNameEditText.clearFocus();
            return true;
        }
    });

这对我有用希望这可以帮助

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...