Я пытаюсь изменить форматы даты радиодиалога. Я написал этот код.Установите простой формат данных программно в Android
builder.setSingleChoiceItems(items, load(), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch(item)
{
case 0:
dataFormat = "HH/mm/ss YYYY/MM/DD";
index = 0;
break;
case 1:
index = 1;
break;
case 2:
index = 2;
break;
case 3:
break;
}
MyClass class = new MyClass();
class.setDateFormat(dataFormat);
savePreferences("DataFormat", item);
}
});
private void savePreferences(String key, int value) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
Editor editor = sharedPreferences.edit();
editor.putInt(key, value);
editor.commit();
}
private int load() {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
int value = sharedPreferences.getInt("DataFormat", 0);
return value;
}
Он хорошо работает и сохраняет значения правильно, но когда я перехожу в другой класс, все остается по-прежнему (формат даты). в другом классе (MyClass) у меня этот код
SimpleDateFormat dateFormat;
String data;
public void setDateFormat(String data) {
this.data = data;
}
public SimpleDateFormat getDateFormat() {
if(data != null) {
dateFormat = new SimpleDateFormat(data);
}
else {
dateFormat = new SimpleDateFormat("HH:mm:ss dd-MM-yyyy");
}
return dateFormat;
}
проблема здесь. он возвращает null, потому что через журналы, которые я видел, входит в оператор else. Зачем? В чем проблема?
Что такое «Радио Диалог «? –