Problem in EditText input method action on setting imeActionLabel

I have an Edittext with imeoptions asactiongo. and I triggered my event when pressing soft keyboard enter button.

mModelId.setOnEditorActionListener(new OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            boolean handled = false;
           // if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
            if (actionId == EditorInfo.IME_ACTION_GO) {
 
                id = mModelId.getText().toString();
                System.out.println("Model id in Edittext:-"+ id);
                Toast.makeText(getActivity(), "You entered "+id, Toast.LENGTH_LONG).show();
                System.out.println("Before Call Volley");
                callVolley();
                handled = true;
            }
            return handled;
        }
    });

 

Everything works fine but when I add actionlabel to enter key the event is not firing.mModelId.setImeActionLabel("Search Model", KeyEvent.KEYCODE_ENTER);. What may be the problem?

Last updated:11/7/2014 1:26:10 AM

1 Answers

Lillian Martin
Lillian Martin

try this

declare edittext and OnEditorActionListener() like this

mModelId= (EditText) findViewById(R.id.edittext_id);
        mModelId.setImeActionLabel('Search Model',KeyEvent.KEYCODE_ENTER);
        mModelId.setOnEditorActionListener(new OnEditorActionListener() {
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            boolean handled = false;
 
            if (actionId == KeyEvent.KEYCODE_ENTER) {
                 id =mModelId.getText().toString();
                System.out.println('Model id in Edittext:-'+ id);
                Toast.makeText(getActivity(), 'You entered '+id,    Toast.LENGTH_LONG).show();
                System.out.println('Before Call Volley');
                callVolley();
                handled = true;
            }
            return handled;
        }
    });

Answer