4

Ich habe habe ein TextInputEditText gewickelt um einen TextInputLayout, wie Google zu tun, empfiehlt: https://developer.android.com/reference/android/support/design/widget/TextInputLayout.html
OnClickListener in TextInoutEditText um TextInputLayout gewickelt

jedoch meine TextInputEditText hat ein OnClickListener darauf gesetzt, so, wenn es abgegriffen wird Durch den Benutzer kann ein DatePickerDialog eingeblendet werden.
Mein Problem ist, dass in der Tat, beim ersten Antippen passiert nichts außer dem Hinweis Label, um über den TextInputEditText zu bewegen. Beim zweiten Antippen wird der DatePickerDialog angezeigt.

Wie kann ich erreichen, dass der DatePickerDialog beim ersten Antippen angezeigt wird?
Das Festlegen des onClickListener für TextInutLayout anstelle von TextInputEditText funktioniert nicht. Hat jemand eine Idee?

+0

können Sie einen Teil Ihres Codes hier eingeben – AJay

+0

Welchen Code? Es ist nur ein einfaches XML mit einem ** TextInputLayout **, das einen ** TextInputEditText ** umschließt und auf der Java-Seite einen einfachen ** OnClickListener **, der auf dem ** TextInputEditText ** gesetzt ist. –

Antwort

5

Der Kalender, der nur auf den zweiten Klick geöffnet wird, ist, weil Sie eine edittext verwenden. Beim ersten Klick wird der Text bearbeiten den Fokus erhalten. Dann ruft der zweite Klick nur den onClickListener auf.

Wenn Sie nicht nach vorne schauen, um das Datum manuell einstellen zu bearbeiten (mit Tastatur), warum dann nicht mit einem Textview des ausgewählten Datum angezeigt werden ?.

Zeige Kalender auf First Click:

Wenn Sie EditText verwenden und den Kalender in dem ersten Klick laden, dann versuchen, eine onFocusChangeListner zum editText statt onClickListner Einstellung.

editText.setOnFocusChangeListener(new OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if(hasFocus) { 
      // Show your calender here 
     } else { 
      // Hide your calender here 
     } 
    } 
}); 
+0

Vielen Dank für Ihre Antwort Kumpel, ich werde es morgen implementieren, wenn ich wieder an die Arbeit und melden Sie Ihre Antwort richtig, wenn es funktioniert. Um Ihre Frage zu beantworten: ** warum nicht einen Textview mit dem gewählten Datum angezeigt ** Nun wissen Sie, diese Affen aus der UX/Design Team ... –

+0

@AndyStrife Ok Dann 'setOnFocusChangeListener' auf' EditTetext', das ist Arbeiten Sie mit einem Klick, um den Kalender anzuzeigen. – Ironman