EditText使用

当我们有这样的需求,在一个输入框中输入字符,但字符数量有限制。就可以这样。

 edit_input.addTextChangedListener(new TextWatcher() {
            private CharSequence temp;
            private int selectionStart;
            private int selectionEnd;

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                Log.d(TAG, "onTextChanged 被执行---->s=" + s + "----start="+ start
                        + "----before="+before + "----count" +count); temp = s;
            }

            public void beforeTextChanged(CharSequence s, int start, int count,int after) {
                Log.d(TAG, "beforeTextChanged 被执行----> s=" + s+"----start="+ start
                        + "----after="+after + "----count" +count);
            }

            public void afterTextChanged(Editable s) {
                Log.d(TAG, "afterTextChanged 被执行---->" + s);
               circle_count.setText(s.length()+"/50");

                selectionStart = edit_input.getSelectionStart();
                selectionEnd = edit_input.getSelectionEnd();
                if (temp.length() > 50) {
                    Toast.makeText(CircleSendActivity.this, "只能输入五十个字",
                            Toast.LENGTH_SHORT).show();
                    s.delete(selectionStart - 1, selectionEnd);
                    int tempSelection = selectionEnd;
                    edit_input.setText(s);
                    edit_input.setSelection(tempSelection);
                }
            }
        });

这里写图片描述

猜你喜欢

转载自blog.csdn.net/justingwang_1/article/details/79757731