文档章节

实时监听EditText内容变化,修改监听软键盘

王先森oO
 王先森oO
发布于 07/23 15:35
字数 451
阅读 7
收藏 0
Go

 

主要是addTextChangedListener方法的使用

aswerEdittext.addTextChangedListener(new TextWatcher() {
    //编辑框的内容发生改变之前的回调方法
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }
    //编辑框的内容正在发生改变时的回调方法 >>用户正在输入
    //我们可以在这里实时地 通过搜索匹配用户的输入
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }
    //编辑框的内容改变以后,用户没有继续输入时 的回调方法
    @Override
    public void afterTextChanged(Editable s) {
        String aswer = s.toString();
        Log.e("TAG", "问答题++++: " + s);
    }
});

 

改变软键盘右下角确定键样式:

软键盘输入法的按键并不是一成不变的,例如它的右下角的“确定”键,在有搜索框的时候就会变成带搜索图标的按键,在浏览器地址栏的时候则会变成“GO”键,我们在写App的时候也可能根据情况的不同设置输入法的“确定”键,改变方法就是给EditText控件的imeOptions属性设置成不同的值(此时Enter键可以显示不同的文字和图案)。

actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 放大镜
actionSend : Send
actionNext : Next
actionDone : Done,确定/完成,隐藏软键盘,即使不是最后一个文本输入框

如果想要监听 这个按键可以这样:

mEt = (EditText) findViewById(R.id.et);
mEt.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent keyEvent) {
        //判断是否是“完成”键
        if(actionId == EditorInfo.IME_ACTION_DONE){
            //隐藏软键盘
            InputMethodManager imm = (InputMethodManager) v
                    .getContext().getSystemService(
                            Context.INPUT_METHOD_SERVICE);
            if (imm.isActive()) {
                imm.hideSoftInputFromWindow(
                        v.getApplicationWindowToken(), 0);

                //按键操作
                final Editable text = mEt.getText();
                Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();
            }
            return true;
        }
        return false;
    }
});

© 著作权归作者所有

共有 人打赏支持
王先森oO
粉丝 7
博文 121
码字总数 59023
作品 0
昌平
私信 提问
Android软件开发之EditText 详解(八)

Android软件开发之EditText 详解 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6629450 EditText在API中的结构 java...

彭博
2012/03/09
165
0
Android软件开发之EditText 详解(八)

Android软件开发之EditText 详解 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6629450 EditText在API中的结构 java...

晨曦之光
2012/03/07
4.7K
0
EditText监听回车键并处理两次回调问题

原创不易,转载请注明出处,谢谢了。 前言 我们都知道,在登面,搜索等等有EditText控件的界面上,当用户输入完内容后,点击回车键执行逻辑会有非常好的用户体验,所以今天我们来学习如何监听...

FynnJason
08/29
0
0
android软键盘的显示后隐藏

一:简述 点击文本框EditText,系统会自动弹出软键盘(其本质是一个Dialog),这必然会引起当前Activity主窗口的大小调整 而Android提供了不同的可选模式去调整活动窗口的大小,与之相关的属性...

sxl01890
2015/08/26
0
0
Android:EditText属性大全(不局限于仅仅是EditText)

注:整理来源包括网络以及自己开发,可能不完全正确或者最合理,仅供参考。 一、inputType属性 inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。比如有时需要虚拟键盘只...

Xushao
2013/04/10
0
3

没有更多内容

加载失败,请刷新页面

加载更多

GROUP BY GROUPING SETS

GROUPING SETS 子句是 SELECT 语句的 GROUP BY 子句的扩展。通过 GROUPING SETS 子句,您可采用多种方式对结果分组,而不必使用多个 SELECT 语句来实现这一目的。这就意味着,能够减少响应时...

hblt-j
10分钟前
0
0
selenium之表格的定位

真的勇士, 敢于直面惨淡的warning、 敢于正视淋漓的error 目录 被测试网页的HTML代码 1.遍历表格所有单元格 2.定位表格中的某个元素 3.定位表格中的子元素 总结 浏览器网页常常会包含各类表...

程序猿拿Q
15分钟前
0
0
adb命令启动展讯平台工厂模式

adb命令启动展讯工厂模式: adb shell am start com.sprd.engineermode/com.sprd.engineermode.EngineerModeActivity...

东街小霸王
16分钟前
0
0
mtu值怎样设置才网速最快

一、什么是 MTU 值 1 从字面上来说,MTU 是英文 Maximum Transmission Unit 的缩写,即最大传输单元,它的单位是字节。 在我们常用的以太网中,MTU 一般是 1500,而无线路由器默认一般是 14...

Clarence_D
34分钟前
1
0
McAfee阻止邮件发送功能

自己写的邮件发送功能,在本地机器上可以发送,但是放到服务器上面之后就不能发送了,捕获到的异常是“以一个访问权限不允许的方式做了一个访问套接字的尝试”,找了很久,终于发现是被McAfe...

壹峰
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部