私は多くの人々が重複した質問と呼ぶだろうと知っていますが、私は最初にそれを読むことをお勧めします。ユーザーが 'em'のいずれかを選択した後、timePickerウィジェットにAMとPMを保存する方法は?
私はXMLでtimePickerウィジェットを持っていると私はそれにOnTimeChangedListener設定しました。ユーザー入力(時間と分を選択)を取得し、sharedPreferencesで保存していますが、うまくいきますが、PMを選択してもtimePickerは常にAMと表示されます。だから私はどのようにユーザーが午前または午後を選択して取得する方法を知って、私は時間と分を保存したようにそれを保存する必要がありますか?
timePickerウィジェットのXML:
<TimePicker
android:id="@+id/time_picker"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
のJavaコード:
// 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));
}
}
私がtrueにsetIs24Hourを試みたし、それがうまく働いていたが、私は自分の時間ピッカーのウィジェットの外観を好きではなかったです私はそれを望んでいません。 OnTimeChangedListener
にあなたは0〜23を取得する必要がありますので
ここでは機能しません!あなたのコードを提供できますか? –
アクティビティは次のとおりです:https://pastebin.com/rycyAYzX レイアウトはちょうど 'TimePicker'要素です。 –