Eric Bergman-Terrell's Blog

Android Programming Tip: How to React to Enter typed in an EditText Field
April 19, 2012

I am updating Vault 3 for Android to initiate a search when the user types Enter in the search text box. Here's how I did this:

  1. I created a Key Listener on the search EditText field.
  2. When Enter is typed, the perfomClick is called on the search button, but only if the search button is visible and enabled.

Here's the code:

searchText = (EditText) findViewById(R.id.SearchText);
		
...

// Initiate a search when user types ENTER.
searchText.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
	    	boolean result = false;
		    	
	// If the event is a key-down event on the "enter" button
        if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER && searchButton.isEnabled() && searchButton.getVisibility() == View.VISIBLE) {
        	searchButton.performClick();
        	result = true;
        }
		        
        return result;
    }
});

antique typewriter

Keywords: Android, EditText, View, performClick, setOnKeyListener, KeyEvent, getVisibility

Reader Comments

Comment on this Blog Post

Recent Posts

TitleDate
Java Programming Tip: SWT Photo Frame ProgramOctober 31, 2016
Vault 3 (Desktop) Version 1.63 ReleasedSeptember 9, 2016
"Compliance with Court Orders Act of 2016"April 9, 2016
Disable "Visual Voicemail" on Android / T-MobileJanuary 17, 2016
IPv6 HumorDecember 10, 2015
Java Programming Tip: Specify the JVM time zoneDecember 7, 2015
Node.js / Express Programming Tip: Detect and Fix Memory LeaksOctober 27, 2015