많은 사람들이 중복 된 질문이라고 부르지 만 처음에는 그것을 읽으라고 제안합니다.사용자가 'em'중 하나를 선택한 후에 timePicker 위젯에 AM 및 PM을 저장하는 방법은 무엇입니까?
저는 XML로 timePicker 위젯을 가지고 있는데, OnTimeChangedListener를 설정했습니다. 사용자 입력 (시간과 분을 선택)을 받고 sharedPreferences를 사용하여 저장하고 있는데, 잘 작동하지만 PM을 선택해도 timePicker는 항상 오전을 표시합니다. 그래서 나는 AM 또는 PM을 선택한 사용자를 얻는 방법을 알고 시간과 분을 절약 한 것처럼 저장해야합니까?
timePicker 위젯 XML :
<TimePicker
android:id="@+id/time_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
자바 코드 : 나는 참으로 setIs24Hour을 시도하고 그것이 잘 작동했지만, 난 내 시간 선택 도구의 위젯의 모양을 좋아하지 않았다
// IMPLEMENTATION OF TIME PICKER'S TIME CHANGE EVENT
timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
savedHour = hourOfDay;
savedMinute = minute;
}
});
// IMPLEMENTATION OF SAVE BUTTON
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Boolean isNotification = notificationSwitch.isChecked();
editor.putBoolean("isNotification", isNotification);
editor.putInt("saved_hour", savedHour);
editor.putInt("saved_minute", savedMinute);
editor.putBoolean("hasTimeSaved", true);
editor.apply();
finish();
}
});
// CHECK WHETHER TIME HAS BEEN SAVED BY THE USER OR NOT
if (preferences.getBoolean("hasTimeSaved", false)) {
if (Build.VERSION.SDK_INT >= 23) {
timePicker.setHour(preferences.getInt("saved_hour", 11));
timePicker.setMinute(preferences.getInt("saved_minute", 11));
}else {
timePicker.setCurrentHour(preferences.getInt("saved_hour", 11));
timePicker.setCurrentMinute(preferences.getInt("saved_minute", 11));
}
}
, 나는 그것을 원하지 않는다.
여기에서 작동하지 않습니다! 코드를 제공 할 수 있습니까? –
활동은 다음과 같습니다. https://pastebin.com/rycyAYzX 레이아웃은 단지 'TimePicker'요소입니다. –