我们一般是监听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;
}
});

最新文章

  1. [译]使用JMH进行微基准测试:不要猜,要测试!
  2. Gulp Babel AMD转换例子
  3. js获取各种宽高方法
  4. Spring 中jdbcTemplate 实现执行多条sql语句
  5. JS乘法口诀表(一行代码)
  6. SoapUI:mock service的使用
  7. hdu1760博弈SG
  8. Windows上使用Thunderbird与GPG发送和解密公钥加密的电子邮件
  9. MongoDB小东西
  10. 解读经典《C#高级编程》第七版 Page79-93.对象和类型.Chapter3
  11. poj-2154-polya+euler函数
  12. JS获取当前网页内容,创建文件并下载,URL.createObjectURL和URL.revokeObjectURL
  13. (一)MySQL登录与退出
  14. Win7下的flutter环境安装配置
  15. 罗伯特•盖洛博士(Dr. Robert Charles Gallo)是世界著名的美国生物医学家,他以共同发现了人类免疫缺陷病毒(HIV)――这一导致获得性免疫缺陷综合症(AIDS)的致病源而闻名于世。
  16. pcap简单使用和简单解释
  17. P4867 Gty的二逼妹子序列
  18. 讨论一下TaskManager中监控磁盘性能的一些小问题
  19. 【SQLSERVER学习笔记】进攻式编程
  20. pom.xml文件报MavenArchiver错误 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)

热门文章

  1. Java编程的逻辑 (27) - 剖析包装类 (中)
  2. CEF 中的那些坑
  3. hadoop2.5搭建过程
  4. myBatsi调用存储过程
  5. es6 Promise 事件机制分析
  6. 在mac中调试网页
  7. 一个页面从输入URL 到页面加载显示完成,这个过程中都发生了什么?
  8. Python进行Android开发步骤
  9. 你的java/c/c++程序崩溃了?揭秘段错误(Segmentation fault)(3)
  10. 使用CefSharp在.Net程序中嵌入Chrome浏览器(七)——右键菜单