title: Clear focus EditText when back button is pressed when softkeyboard is showing
body: <p>I know that there are quite some questions out here regarding this question. But non of them have the answer that I'm looking for.</p>
  
  <p>I've got 7 ET inside a ScrollView. When I start the application no ET has focus because I've added the following two lines to my overall layout:</p>
  
  <pre><code>android:focusable="true"
  android:focusableInTouchMode="true"
  </code></pre>
  
  <p>When I click on an ET the softkeyboard is shown, which I want, then I set the value (let say 20). I press a '2' followed by a '0' and then press the back button. At this point the keyboard disappears, but the focus stays. I would like to clear the focus too when pressing the back button to hide the keyboard.</p>
  
  <p>Because when the focus is cleared the layout of the ET is set like I want.</p>
  
  <p>They all have about the some code, which is:</p>
  
  <pre><code>    // Right Cable
      RightCable = (EditText) findViewById (R.id.RightCable);
      RightCable.setRawInputType(Configuration.KEYBOARD_12KEY);
      RightCable.setOnFocusChangeListener(FocusChanged);
      RightCable.addTextChangedListener(new TextWatcher() {
          public void afterTextChanged(Editable s) {
              if(RightCable.isFocused()){
                  LengthRightCable       = Double.parseDouble(RightCable.getText().toString());
                  Calculate();
              }
          }
          public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
          public void onTextChanged(CharSequence s, int start, int before, int count) {
              if(s.toString().matches("")) {
                  RightCable.setText("0.00");
                  Selection.setSelection(RightCable.getText(), 0, 4);
              }
          }
      });
  </code></pre>
  
  <p>I use a focus listener to change the input of the ET to a number like 5.00 instead of 0.</p>
  
  <pre><code>OnFocusChangeListener FocusChanged = new OnFocusChangeListener() {
  
      public void onFocusChange(View v, boolean hasFocus) {
  
          EditText et = (EditText) v;
  
          et.setSelection(0, et.getText().length());
  
          if(!hasFocus){
              String userInput = et.getText().toString();
  
              int dotPos = -1;    
  
              for (int i = 0; i &lt; userInput.length(); i++) {
                  char c = userInput.charAt(i);
                  if (c == '.') {
                      dotPos = i;
                  }
              }
  
              if (dotPos == -1){
                  et.setText(userInput + ".00");
              } else if(userInput.length() &lt; 5) {
                  if ( userInput.length() - dotPos == 1 ) {
                      et.setText(userInput + "00");
                  } else if ( userInput.length() - dotPos == 2 ) {
                      et.setText(userInput + "0");
                  }
              }
          }
      }
  
  };
  </code></pre>