EditText的监听器和自定义回车事件
2024-08-27 05:50:27
我们一般是监听EditText的状态,看EditText中是不是有文字,根据有无进行不同的操作。
// 给editText添加监听器
editText.addTextChangedListener(new TextWatcher() { @Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// 输入过程中,还在内存里,没到屏幕上
} @Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// 在输入之前会触发的
} @Override
public void afterTextChanged(Editable s) {
// 输入完将要显示到屏幕上时会触发
boolean isEmpty = s.toString().trim().isEmpty();
}
});
如果想要定义回车键事件,也需要监听按键,然后进行处理。这里需要注意的是必须两个条件同时满足,否则会出现执行两次的错误。
/**
* 设置发送消息的按钮和输入框 按下回车键,发送消息
*/
editText = (EditText) findViewById(R.id.conversation_editText);
editText.setOnKeyListener(new OnKeyListener() { @Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// 这两个条件必须同时成立,如果仅仅用了enter判断,就会执行两次
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
// 执行发送消息等操作
return true;
}
return false;
}
});
最新文章
- [译]使用JMH进行微基准测试:不要猜,要测试!
- Gulp Babel AMD转换例子
- js获取各种宽高方法
- Spring 中jdbcTemplate 实现执行多条sql语句
- JS乘法口诀表(一行代码)
- SoapUI:mock service的使用
- hdu1760博弈SG
- Windows上使用Thunderbird与GPG发送和解密公钥加密的电子邮件
- MongoDB小东西
- 解读经典《C#高级编程》第七版 Page79-93.对象和类型.Chapter3
- poj-2154-polya+euler函数
- JS获取当前网页内容,创建文件并下载,URL.createObjectURL和URL.revokeObjectURL
- (一)MySQL登录与退出
- Win7下的flutter环境安装配置
- 罗伯特•盖洛博士(Dr. Robert Charles Gallo)是世界著名的美国生物医学家,他以共同发现了人类免疫缺陷病毒(HIV)――这一导致获得性免疫缺陷综合症(AIDS)的致病源而闻名于世。
- pcap简单使用和简单解释
- P4867 Gty的二逼妹子序列
- 讨论一下TaskManager中监控磁盘性能的一些小问题
- 【SQLSERVER学习笔记】进攻式编程
- pom.xml文件报MavenArchiver错误 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)