Po prostu próbuję odsłuchać tekst w edytorze TextInputLayout. To działa, ale muszę dwukrotnie kliknąć EditText, aby wywołać, ale nie rozumiem, dlaczego. Tu jest mój kodu:EditText inside TextInputLayout onclick wymaga 2 kliknięć?! Android
xml:
<android.support.design.widget.TextInputLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<EditText
android:id="@+id/start_date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Starting Date*: "
android:inputType="textPersonName" />
</android.support.design.widget.TextInputLayout>
Listenner:
private void setListenners() {
EditText startDate = (EditText) mView.findViewById(R.id.start_date);
startDate.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onClick(View v) {
Calendar mcurrentDate=Calendar.getInstance();
int mYear = mcurrentDate.get(Calendar.YEAR);
int mMonth = mcurrentDate.get(Calendar.MONTH);
int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker=new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
Log.d("DEBUG", "year: " + year + " month: " + month + " day: " + day);
}
},mYear, mMonth, mDay);
mDatePicker.show();
}
});
}
Dziękujemy! to działało! –
@ Rémi, proszę, przyjmij tę odpowiedź jako odpowiedź dla innych osób, które mogą zadać ci pytanie. –
Jeśli będziesz długo klikać dane wejściowe, będziesz mógł wkleić ostatni skopiowany tekst, więc nie jest to pełne rozwiązanie. –