Skip to content Skip to sidebar Skip to footer

How To Change TextView's Text On Change Of EditText's Text?

I have an EditText box where the user can enter input. I need to display the input text in a TextView (which is placed below the EditText) while the user inputting the text. Examp

Solution 1:

Add TextWatcher to your Edittext. in afterTextChanged() do your operation. http://developer.android.com/reference/android/text/TextWatcher.html

TextWatcher inputTextWatcher = new TextWatcher() {
    public void afterTextChanged(Editable s) { 
                textview.setText(s.toString());
    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after){
    }
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }
};

editText.addTextChangedListener(inputTextWatcher);

Solution 2:

edtText.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub

            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                if (!edtText.getText().toString().equalsIgnoreCase("")){

                    // here textview.setText(edtText.getText());

                }
            }
        });
    }

Solution 3:

You should overwrite this method :

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) {
        if(editText.getText().length() >= 0) {
            textView.setText(editText.getText().toString())
        } 
    }
});

Solution 4:

The solution is to add TextWatcher to the EditText by using addTextChangedListener() function. In TextWatcher you'll need to write transformation / validation logic inside one of 3 functions afterTextChanged(), beforeTextChanged(), onTextChanged() depending on when you want to perform those actions.

Using Kotlin you would do something like that:

editText.addTextChangedListener(object : android.text.TextWatcher {
        override fun afterTextChanged(s: Editable?) {

        }

        override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
        }

        override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
            s?.let { textView.text = s.toString() }
        }
    })

Post a Comment for "How To Change TextView's Text On Change Of EditText's Text?"