私はAndroidと学習するのが非常に新しいです。Android TimePickerはデータを返さない
TimePicker
を実装しようとしています。ユーザーが時間を選択しなければならないポイントまですべてが正常に機能し、その特定の時間は更新されません。
私は間違っていますか? rest of my codeはGitHubにあります。
public class TimePickerFragment extends DialogFragment {
private static final String ARG_TIME = "date";
public static final String EXTRA_TIME = "time";
private TimePicker mTimePicker;
public static TimePickerFragment newInstance(Date date) {
Bundle args = new Bundle();
args.putSerializable(ARG_TIME, date);
TimePickerFragment fragment = new TimePickerFragment();
fragment.setArguments(args);
return fragment;
}
public Dialog onCreateDialog(Bundle savedInstanceState) {
View v = LayoutInflater.from(getActivity()).inflate(R.layout.picker_time_fragment, null);
final Date time = (Date) getArguments().getSerializable(ARG_TIME);
Calendar a = Calendar.getInstance();
final int hour = a.get(Calendar.HOUR_OF_DAY);
final int minute = a.get(Calendar.MINUTE);
mTimePicker = (TimePicker) v.findViewById(R.id.time_picker_layout);
return new AlertDialog.Builder(getActivity())
.setView(v)
.setTitle(R.string.time_picker_crime_title)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
mTimePicker.setHour(hour);
mTimePicker.setMinute(minute);
}
sendResultTime(Activity.RESULT_OK, time);
}
})
.show();
}
private void sendResultTime(int resultCode, Date time) {
if (getTargetFragment() == null) {
return;
}
Intent intent = new Intent();
intent.putExtra(EXTRA_TIME, time);
getTargetFragment().onActivityResult(getTargetRequestCode(), resultCode, intent);
}
}
なぜマシュマロ以上のsdkバージョンチェック条件を使用していますか? –
それ以外の場合は、コールにAPIレベル23が必要です(現在の最小値は16です)。そして私は.setCurrentHourを使うことはできません。私は何をすべきか? – Stefanm89
それはマシュマロ装置で働いていますか? –