Opening the calendar only with the second press occurs because you are using edittext. The first click, your text will receive focus. then the second click only calls onClickListener.
If you do not want to edit the date set manually (using the keyboard), then why not use the TextView to display the selected date ?.
Show calendar on first click:
EditText , onFocusChangeListner editText onClickListner.
editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
} else {
}
}
});