После моего кода Java:
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(getContext());
alertDialogBuilder.setView(promptView);
alertDialogBuilder.setCancelable(false)
.setPositiveButton(R.string.add, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
final EditText etDate = promptView.findViewById(R.id.etDate);
etDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Calendar c = Calendar.getInstance();
DatePickerDialog dpd = new DatePickerDialog(getContext(),
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
etDate.setText(dayOfMonth + "-"
+ (monthOfYear + 1) + "-" + year);
}
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DATE));
dpd.show();
}
});
}
});
AlertDialog alert = alertDialogBuilder.create();
alert.show();
Подписан etDate
:
<EditText
android:id="@+id/etDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Date"
android:focusable="false"
android:inputType="date" />
Если вы нажмете на EditText, абсолютно ничего не произойдет. Обратите внимание, что EditText находится внутри AlertDialog, а все внутри фрагмента.