
etBirthday = findViewById(R.id.activity_edit_editText_birthday);
etBirthday.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
displayDatePicker();
}
});
etBirthday.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
displayDatePicker();
}
}
});
Les deux méthodes sont utilisées simultanément pour pouvoir gérer les réaction différentes des versions d'Android.
private void displayDatePicker() {
DatePickerDialog dpd = new DatePickerDialog(EditActivity.this);
dpd.setOnDateSetListener(new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// TODO: do something with the selected date
}
});
dpd.show();
}
Ne pas oublier d'appeler la méthode show().
if (BuildConfig.DEBUG) {
Log.d(TAG, "onDateSet " + year + " " + month + 1 + " " + dayOfMonth);
}
etBirthday.setText(dayOfMonth + "/" + (month + 1) + "/" + year);
LocalDate today = LocalDate.now();
LocalDate birthDay = LocalDate.of(year, month+1, dayOfMonth);
tvAge.setText(Period.between(birthDay, today).getYears() + " ans");
finish();
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="90"
android:endColor="#FAFAFA"
android:startColor="#AAAAAA"
android:type="linear" />
</shape>
List<User> userList = AppDatabase.getDatabase(getBaseContext()).userDao().getAll();
Enregistrement des données dans la base de donnée :
User currentUser = new User("Tristan", "SALAUN", "H", "Mobile", "+3361234567", "29/03/1979", "IMAGE");
AppDatabase.getDatabase(getBaseContext()).userDao().insert(currentUser);