У меня проблема с преобразованием моей строки в дату, и это дает мне исключение нулевого указателя, и я перепробовал все.
Вот так я ввожу свою строку в свою базу данных из calendarView
mCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView calendarView, int i, int i1, int i2) {
string = (i1 + 1) + "/" +i2 + "/" + i;
}
});
String key = mDatabase.push().getKey();
HashMap<String, String> dataMap = new HashMap<>();
dataMap.put("Date", date);
dataMap.put("Key", key);
mDatabase.child(key).setValue(dataMap);
Затем, когда я извлекаю его из своей базы данных, я форматирую его следующим образом
databaseReference = FirebaseDatabase.getInstance().getReference().child("Groups").child("JMHyOvgCDvdKEZuReJvdGcExEnX2").child("HomeFragment").child("FreezerItems");
valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
HashMap<String, String> value = (HashMap<String,String>) dataSnapshot.getValue();
if (value != null){
String name = value.get("Name");
String date = value.get("Date");
try {
dateFormat = new Date();
dateFormat = new SimpleDateFormat("M/dd/yyyy", Locale.US).parse(date);
} catch (ParseException e) {
Log.wtf("FailedtoChangeDate", "Fail");
}
Моя проблема заключается в том, что я пытаюсь преобразовать строку в формат M / dd / yyyy, даже если формат даты встрока выглядит примерно так: «30.05.2008»
Снимок экрана, когда я отлаживаю его