Eric Bergman-Terrell's Blog

Previous Blog Post Android Programming Tip: How to react to Enter typed in an EditText Field Next Blog Post
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;
    }
});
Keywords: Android, EditText, View, performClick, setOnKeyListener, KeyEvent, getVisibility

Reader Comments

Comment on this Blog Post

Recent Posts

Title Date
Vault 0.53 Released March 29, 2013
Vault 3 (Desktop Version) Updated March 23, 2013
EBTCalc for Android v. 1.12 - Now Runs on Phones and Smaller Tablets February 09, 2013
Vault 3 (PC Version) v. 0.50 Released January 07, 2013
Android Programming Tip: Recycle Views in Adapters December 07, 2012
Android Programming Tip: How to Embed EditText Views in a ListView (Don't!) December 07, 2012
EBTCalc for Android December 03, 2012