Use this method it is similar what you already done but I little modified it . Register listener of your main layout and pass its object as param so that when you click out side of edit text i,e. main layout keypad will gone.
/** Close Keypad on touch.
* @param view on which click happens. */
public void closeKeyPad(View view)
{
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}