My custom dialog layout has 2 edit text fields.
<EditText
    android:id="@+id/e2"
    android:inputType="none"
    android:longClickable="false"
    android:selectAllOnFocus="true"
    android:textIsSelectable="true" />
<EditText
    android:id="@+id/e2"
    android:inputType="none"
    android:longClickable="false"
    android:selectAllOnFocus="true"
    android:textIsSelectable="true" />
I implement my class using OnFocusChangeListener.
My idea is when I click the text field, one custom popup dialog appears to select my pre-defined value.
It work correctly but I have a minor problem.
If I click the editext 1 => dialog apear (I select the button then it dismisses) => click editext 2 => dialig appear (I select the button then it dismisses).
However, if If I click the editext 1 => dialog appears (I select the button then it dismisses), then I click on editext 1 immediately again (even many times I try), my dialog does not show up (In expectation, it should appear whenever I click).
My Class
public class user_input extends Activity implements OnFocusChangeListener {
@Override
public void onFocusChange(View v, boolean hasFocus) {
    final EditText edt = (EditText) findViewById(v.getId());
    if (hasFocus) {
        final Dialog dialog = new Dialog(user_input.this);
        dialog.setContentView(R.layout.input_dialog);
        dialog.setTitle("SELECT A NUMBER: ");
        dialog.show();
        btn1 = (Button) dialog.findViewById(R.id.val1);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                edt.setText("1");
                dialog.cancel();
            }
        });
        btn2 = (Button) dialog.findViewById(R.id.val2);
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                edt.setText("2");
                dialog.cancel();
            }
        });
      }
}
How to show it as my expectation? Thank you very much in advanced.