mohammad fatemi
mohammad fatemi

Reputation: 327

OnEditorActionListener not working

I simply want to show Toast message when user is editing the EditText, but I don't get the Toast message!

What am I doing wrong?

public class OfferRide extends Activity implements TextView.OnEditorActionListener {
    private EditText et_msg;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_layout);
        initializeViews();
    }

    private void initializeViews() {
        et_msg = (EditText) findViewById(R.id.et_msg);
        et_msg.setOnEditorActionListener(this);
    }
   @Override
   public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        Toast.makeText(getApplicationContext(), "Editing",Toast.LENGTH_LONG).show();
        return false;
    }
}

Upvotes: 2

Views: 952

Answers (1)

Leszek Jasek
Leszek Jasek

Reputation: 2356

onEditorAction() will work if you hit Enter in EditText. To fire action every time you make change, you can use TextWatcher()

et_msg.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            Toast.makeText(getApplicationContext(), charSequence ,Toast.LENGTH_LONG).show();
        }

        @Override
        public void afterTextChanged(Editable editable) {}
});

Upvotes: 3

Related Questions