EditText的监听器和自定义回车事件

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值