Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:如何捕捉软键盘的每次触摸输入?_Android_Android Edittext - Fatal编程技术网

Android 安卓:如何捕捉软键盘的每次触摸输入?

Android 安卓:如何捕捉软键盘的每次触摸输入?,android,android-edittext,Android,Android Edittext,nameInput是EditText类型的对象。我想在TextView上实时显示从EditText创建的字符串的字符数。原理很简单,在我看来它可以完美地工作(我需要做的就是“截取”软键盘的字符,就像我在上面做的那样),但问题是: 没有常数可用,这可能意味着我需要做一些模糊的技巧来解决这个问题。你知道我怎么做吗?使用TextWatcher: 输入中的任何更改都会通知您。例如: nameInput.setOnEditorActionListener(new OnEditorActionListen

nameInput是EditText类型的对象。我想在TextView上实时显示从EditText创建的字符串的字符数。原理很简单,在我看来它可以完美地工作(我需要做的就是“截取”软键盘的字符,就像我在上面做的那样),但问题是:


没有常数可用,这可能意味着我需要做一些模糊的技巧来解决这个问题。你知道我怎么做吗?

使用
TextWatcher

输入中的任何更改都会通知您。例如:

nameInput.setOnEditorActionListener(new OnEditorActionListener() {        
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.????_?????_??????) {
                Integer inputLength2 = nameInput.getText().length();
                String realTimeText = inputLength2.toString();
                textView1.setText("Number of Characters: " + realTimeText);
            }
        return false;
        }
    });

非常感谢你!谷歌的人很聪明;他们考虑了一切:)。即使是“TextWatcher”这个名字也完美地描述了我所需要的。
private TextWatcher textWatcher = new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        Integer inputLength2 = s.length();
        String realTimeText = inputLength2.toString();
        textView1.setText("Number of Characters: " + realTimeText);
    }

    public void afterTextChanged(Editable s) {}
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
};

editText.addTextChangedListener(textWatcher);