zoukankan      html  css  js  c++  java
  • 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; } });
  • 相关阅读:
    PL/SQL 入门
    Nginx 安装和配置
    MySql 优化方案
    类加载器(ClassLoader)
    动态代理入门
    Servlet 3.0 介绍
    反射加强(一)
    Python(1)—is和==区别
    代码题(10)— 验证二叉搜索树、二叉搜索树的最近公共祖先
    代码题(9)— 二叉树的最大、最小深度、平衡二叉树
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4295424.html
Copyright © 2011-2022 走看看