title: setSelection in EditText's onFocusChange
body: <p>Normally, when the view is clicked, the text cursor is set near the place you clicked on.<br>
  I try to set it always to the end (past the last character), but it does nothing unless the action is delayed.<br>
  The following:</p>
  
  <pre><code>new OnFocusChangeListener() {
      @Override
      public void onFocusChange(View v, boolean hasFocus) {
          if(hasFocus) {
              EditText et = (EditText) v;
              et.setSelection(et.getText().length());
          }
      }
  });
  </code></pre>
  
  <p>does not work. Delaying the <code>setSelection</code> part:</p>
  
  <pre><code>Handler handler = new Handler();
  handler.postDelayed(new Runnable() {
      @Override
      public void run() {
          et.setSelection(et.getText().length());
      }
  }, 40);
  </code></pre>
  
  <p>makes it work, but is bad practice.</p>
  
  <p>What better alternatives are there? <code>OnClickListener</code> and <code>OnTouchListener</code> (ACTION_DOWN and ACTION_UP both) don't help, either.</p>