I'm trying to build application which get time from timepicker dialog and store time in sharedpreferences and retrieve those value from sharedpreferences to store into other variable testhour and testminutes. I'm trying to store values when user tap on Set Button of timePicker Dialog.
public class MainActivity extends AppCompatActivity {
public Button setTime;
public int testhour=14;
public int testminute=25;
public String hourx,minutex;
public static final String MY_PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTime = (Button) findViewById(R.id.button);
setTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar mcurrentTime = Calendar.getInstance();
final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("hours", String.valueOf(selectedHour));
editor.putString("minute", String.valueOf(selectedMinute));
editor.apply();
}
}, hour, minute, true);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
mTimePicker.setButton(DialogInterface.BUTTON_POSITIVE, "Set", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE)
{
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
hourx = prefs.getString("hours", null);//"No name defined" is the default value.
minutex = prefs.getString("minute", null);
testhour = Integer.parseInt(hourx);
testminute = Integer.parseInt(minutex);
Toast.makeText(MainActivity.this, "Time Has Been Set for "+ testhour + ": "+testminute, Toast.LENGTH_SHORT).show();
}
}
});
}
});
But it's not working.. it's not storing values in testhours and testminute when I tap on set Button of timePicker dialog.