5

12:00 PM から 12:00 AM までの時間間隔があります。タイム ピッカー ダイアログでこの時間間隔を設定したいです。12:00 PM より前の時間と 12:00 AM より後の時間ピッカーを無効にします。方法がわかりません。タイムピッカーダイアログで時間を設定してください。この問題を解決するのに役立つ人は誰でも知っています。

タイムピッカー

 private void showTimePicker(){

      Time_picker time = new Time_picker();

      Bundle args = new Bundle();
      args.putInt("hours", c.get(Calendar.HOUR_OF_DAY)+2);
      args.putInt("minute", c.get(Calendar.MINUTE)+30);

      time.setArguments(args);
      time.setCallBack(ontime);
      time.show(((FragmentActivity) getActivity()).getSupportFragmentManager(), "Time Picker");

 }

 OnTimeSetListener ontime = new OnTimeSetListener() {

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // TODO Auto-generated method stub

        try {       
               String _24HourTime = String.valueOf(hourOfDay)+":"+String.valueOf(minute);
               SimpleDateFormat _24HourSDF = new SimpleDateFormat("HH:mm");
               SimpleDateFormat _12HourSDF = new SimpleDateFormat("hh:mm a");
               Date _24HourDt = _24HourSDF.parse(_24HourTime);
               et_time.setText(_12HourSDF.format(_24HourDt));
           } catch (Exception e) {
               e.printStackTrace();
           }
    }
};

タイム ピッカー ダイアログ フラグメント

public class Time_picker extends DialogFragment{

OnTimeSetListener ontimeSet;

public Time_picker() {

}

public void setCallBack(OnTimeSetListener ontime) {

    ontimeSet = ontime;

}

private int hours, minute, pm;
@Override
public void setArguments(Bundle args) {
    super.setArguments(args);
    hours = args.getInt("hours");
    minute = args.getInt("minute");
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    TimePickerDialog _time = new TimePickerDialog(getActivity(), ontimeSet, hours, minute, false){

        @Override
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            // TODO Auto-generated method stub


        }
    };

    return _time;
}
}
4

1 に答える 1

0

タイムピッカーに表示される時間の値を変更できるかどうかはわかりませんが、タイムピッカーが変更されたときにイベントリスナーを作成して、必要な間隔にない値を拒否することはできます

于 2014-06-04T05:53:31.327 に答える