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; } });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM