android.widget.TimePicker#setOnTimeChangedListener ( )源码实例Demo

下面列出了android.widget.TimePicker#setOnTimeChangedListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: android_9.0.0_r45   文件: TimePickerDialog.java
/**
 * Creates a new time picker dialog with the specified theme.
 * <p>
 * The theme is overlaid on top of the theme of the parent {@code context}.
 * If {@code themeResId} is 0, the dialog will be inflated using the theme
 * specified by the
 * {@link android.R.attr#timePickerDialogTheme android:timePickerDialogTheme}
 * attribute on the parent {@code context}'s theme.
 *
 * @param context the parent context
 * @param themeResId the resource ID of the theme to apply to this dialog
 * @param listener the listener to call when the time is set
 * @param hourOfDay the initial hour
 * @param minute the initial minute
 * @param is24HourView Whether this is a 24 hour view, or AM/PM.
 */
public TimePickerDialog(Context context, int themeResId, OnTimeSetListener listener,
        int hourOfDay, int minute, boolean is24HourView) {
    super(context, resolveDialogTheme(context, themeResId));

    mTimeSetListener = listener;
    mInitialHourOfDay = hourOfDay;
    mInitialMinute = minute;
    mIs24HourView = is24HourView;

    final Context themeContext = getContext();
    final LayoutInflater inflater = LayoutInflater.from(themeContext);
    final View view = inflater.inflate(R.layout.time_picker_dialog, null);
    setView(view);
    setButton(BUTTON_POSITIVE, themeContext.getString(R.string.ok), this);
    setButton(BUTTON_NEGATIVE, themeContext.getString(R.string.cancel), this);
    setButtonPanelLayoutHint(LAYOUT_HINT_SIDE);

    mTimePicker = (TimePicker) view.findViewById(R.id.timePicker);
    mTimePicker.setIs24HourView(mIs24HourView);
    mTimePicker.setCurrentHour(mInitialHourOfDay);
    mTimePicker.setCurrentMinute(mInitialMinute);
    mTimePicker.setOnTimeChangedListener(this);
}
 
源代码2 项目: codeexamples-android   文件: DateWidgets2.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.date_widgets_example_2);

    TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker);
    timePicker.setCurrentHour(12);
    timePicker.setCurrentMinute(15);

    mTimeDisplay = (TextView) findViewById(R.id.dateDisplay);

    updateDisplay(12, 15);

    timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

        public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            updateDisplay(hourOfDay, minute);
        }
    });
}
 
源代码3 项目: ploggy   文件: TimePickerPreference.java
@Override
protected View onCreateDialogView() {

        tp = new TimePicker(getContext());
        tp.setOnTimeChangedListener(this);

        String value = getPersistedString(this.defaultValue);
        int h = getHour(value);
        int m = getMinute(value);
        if (h >= 0 && m >= 0) {
                tp.setCurrentHour(h);
                tp.setCurrentMinute(m);
        }
        tp.setIs24HourView(DateFormat.is24HourFormat(getContext()));

        return tp;
}
 
源代码4 项目: financisto   文件: TimePreference.java
@Override
protected View onCreateDialogView() {
    Context context = getContext();
    TimePicker timePicker = new TimePicker(context);
    timePicker.setIs24HourView(is24HourFormat(context));
    timePicker.setOnTimeChangedListener(this);
    timePicker.setCurrentHour(getHour());
    timePicker.setCurrentMinute(getMinute());
    return timePicker;
}
 
源代码5 项目: SimpleDialogFragments   文件: SimpleTimeDialog.java
@SuppressWarnings("deprecation")
@Override
protected View onCreateContentView(Bundle savedInstanceState) {

    picker = new TimePicker(getContext());

    if (savedInstanceState != null){
        picker.setCurrentHour(savedInstanceState.getInt(HOUR));
        picker.setCurrentMinute(savedInstanceState.getInt(MINUTE));

    } else {
        if (getArguments().containsKey(HOUR)) {
            picker.setCurrentHour(getArguments().getInt(HOUR));
        }
        if (getArguments().containsKey(MINUTE)) {
            picker.setCurrentMinute(getArguments().getInt(MINUTE));
        }
    }

    if (getArguments().containsKey(VIEW_24_HOUR)) {
        picker.setIs24HourView(getArguments().getBoolean(VIEW_24_HOUR));
    } else {
        picker.setIs24HourView(DateFormat.is24HourFormat(getContext())); // system default
    }
    picker.setOnTimeChangedListener(this);

    return picker;
}
 
源代码6 项目: GeometricWeather   文件: TimeSetterDialog.java
private void initWidget(View view) {
    Button done = view.findViewById(R.id.dialog_time_setter_done);
    done.setOnClickListener(this);

    Button cancel = view.findViewById(R.id.dialog_time_setter_cancel);
    cancel.setOnClickListener(this);

    TimePicker timePicker = view.findViewById(R.id.dialog_time_setter_time_picker);
    timePicker.setIs24HourView(true);
    timePicker.setOnTimeChangedListener(this);
}
 
源代码7 项目: SimpleDialogFragments   文件: SimpleTimeDialog.java
@SuppressWarnings("deprecation")
@Override
protected View onCreateContentView(Bundle savedInstanceState) {

    picker = new TimePicker(getContext());

    if (savedInstanceState != null){
        picker.setCurrentHour(savedInstanceState.getInt(HOUR));
        picker.setCurrentMinute(savedInstanceState.getInt(MINUTE));

    } else {
        if (getArguments().containsKey(HOUR)) {
            picker.setCurrentHour(getArguments().getInt(HOUR));
        }
        if (getArguments().containsKey(MINUTE)) {
            picker.setCurrentMinute(getArguments().getInt(MINUTE));
        }
    }

    if (getArguments().containsKey(VIEW_24_HOUR)) {
        picker.setIs24HourView(getArguments().getBoolean(VIEW_24_HOUR));
    } else {
        picker.setIs24HourView(DateFormat.is24HourFormat(getContext())); // system default
    }
    picker.setOnTimeChangedListener(this);

    return picker;
}
 
源代码8 项目: xDrip-Experimental   文件: StartNewSensor.java
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if(!Sensor.isActive()) {
        setContentView(R.layout.activity_start_new_sensor);
        button = (Button)findViewById(R.id.startNewSensor);
        dp = (DatePicker)findViewById(R.id.datePicker);
        tp = (TimePicker)findViewById(R.id.timePicker);
        tp.setIs24HourView(DateFormat.is24HourFormat(this));
        tp.setSaveFromParentEnabled(false);
        tp.setSaveEnabled(true);
        addListenerOnButton();
        
        tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

            public void onTimeChanged(TimePicker arg0, int arg1, int arg2) {
                Log.d("NEW SENSOR", "new time " + arg1  + " " + arg2);

                if(arg1 == 23 && last_hour == 0) {
                    Log.d("NEW SENSOR", "decreading day");
                    addDays(-1);

                }
                if (arg1 == 0 && last_hour == 23) {
                    Log.d("NEW SENSOR", "increasing day");
                    addDays(1);
                }
                last_hour = arg1;

            }
        });

        last_hour = tp.getCurrentHour();
        
    } else {
        Intent intent = new Intent(this, StopSensor.class);
        startActivity(intent);
        finish();
    }
}
 
源代码9 项目: 365browser   文件: DateTimePickerDialog.java
/**
 * @param context The context the dialog is to run in.
 * @param callBack How the parent is notified that the date is set.
 * @param year The initial year of the dialog.
 * @param monthOfYear The initial month of the dialog.
 * @param dayOfMonth The initial day of the dialog.
 */
public DateTimePickerDialog(Context context,
        OnDateTimeSetListener callBack,
        int year,
        int monthOfYear,
        int dayOfMonth,
        int hourOfDay, int minute, boolean is24HourView,
        double min, double max) {
    super(context, 0);

    mMinTimeMillis = (long) min;
    mMaxTimeMillis = (long) max;

    mCallBack = callBack;

    setButton(BUTTON_POSITIVE, context.getText(
            R.string.date_picker_dialog_set), this);
    setButton(BUTTON_NEGATIVE, context.getText(android.R.string.cancel),
            (OnClickListener) null);
    setIcon(0);
    setTitle(context.getText(R.string.date_time_picker_dialog_title));

    Context dialogContext = getDialogContext(context);
    LayoutInflater inflater =
            (LayoutInflater) dialogContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.date_time_picker_dialog, null);
    setView(view);
    mDatePicker = (DatePicker) view.findViewById(R.id.date_picker);
    DateDialogNormalizer.normalize(mDatePicker, this,
            year, monthOfYear, dayOfMonth, mMinTimeMillis, mMaxTimeMillis);

    mTimePicker = (TimePicker) view.findViewById(R.id.time_picker);
    mTimePicker.setIs24HourView(is24HourView);
    setHour(mTimePicker, hourOfDay);
    setMinute(mTimePicker, minute);
    mTimePicker.setOnTimeChangedListener(this);
    onTimeChanged(mTimePicker, getHour(mTimePicker), getMinute(mTimePicker));
}
 
源代码10 项目: commcare-android   文件: TimeWidget.java
public TimeWidget(Context context, final FormEntryPrompt prompt) {
    super(context, prompt);

    mTimePicker = new TimePicker(getContext());
    mTimePicker.setFocusable(!prompt.isReadOnly());
    mTimePicker.setEnabled(!prompt.isReadOnly());
    mTimePicker.setOnTimeChangedListener(this);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        mTimePicker.setSaveFromParentEnabled(false);
        mTimePicker.setSaveEnabled(true);
    }

    String clockType =
            android.provider.Settings.System.getString(context.getContentResolver(),
                    android.provider.Settings.System.TIME_12_24);
    if (clockType == null || clockType.equalsIgnoreCase("24")) {
        mTimePicker.setIs24HourView(true);
    }

    // If there's an answer, use it.
    setAnswer();

    setGravity(Gravity.LEFT);
    addView(mTimePicker);

}
 
源代码11 项目: BatteryFu   文件: TimePickerPreference.java
@Override
protected View onCreateDialogView() {

	TimePicker tp = new TimePicker(getContext());
	tp.setOnTimeChangedListener(this);

	int h = getHour();
	int m = getMinute();
	if (h >= 0 && m >= 0) {
		tp.setCurrentHour(h);
		tp.setCurrentMinute(m);
	}

	return tp;
}
 
源代码12 项目: android-chromium   文件: DateTimePickerDialog.java
/**
 * @param context The context the dialog is to run in.
 * @param callBack How the parent is notified that the date is set.
 * @param year The initial year of the dialog.
 * @param monthOfYear The initial month of the dialog.
 * @param dayOfMonth The initial day of the dialog.
 */
public DateTimePickerDialog(Context context,
        OnDateTimeSetListener callBack,
        int year,
        int monthOfYear,
        int dayOfMonth,
        int hourOfDay, int minute, boolean is24HourView,
        long min, long max) {
    super(context, 0);

    mMinTimeMillis = min;
    mMaxTimeMillis = max;

    mCallBack = callBack;

    setButton(BUTTON_POSITIVE, context.getText(
            R.string.date_picker_dialog_set), this);
    setButton(BUTTON_NEGATIVE, context.getText(android.R.string.cancel),
            (OnClickListener) null);
    setIcon(0);
    setTitle(context.getText(R.string.date_time_picker_dialog_title));

    LayoutInflater inflater =
            (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.date_time_picker_dialog, null);
    setView(view);
    mDatePicker = (DatePicker) view.findViewById(R.id.date_picker);
    DateDialogNormalizer.normalize(mDatePicker, this,
            year, monthOfYear, dayOfMonth, hourOfDay, minute, min, max);

    mTimePicker = (TimePicker) view.findViewById(R.id.time_picker);
    mTimePicker.setIs24HourView(is24HourView);
    mTimePicker.setCurrentHour(hourOfDay);
    mTimePicker.setCurrentMinute(minute);
    mTimePicker.setOnTimeChangedListener(this);
    onTimeChanged(mTimePicker, mTimePicker.getCurrentHour(),
            mTimePicker.getCurrentMinute());
}
 
源代码13 项目: android-chromium   文件: DateTimePickerDialog.java
/**
 * @param context The context the dialog is to run in.
 * @param callBack How the parent is notified that the date is set.
 * @param year The initial year of the dialog.
 * @param monthOfYear The initial month of the dialog.
 * @param dayOfMonth The initial day of the dialog.
 */
public DateTimePickerDialog(Context context,
        OnDateTimeSetListener callBack,
        int year,
        int monthOfYear,
        int dayOfMonth,
        int hourOfDay, int minute, boolean is24HourView,
        long min, long max) {
    super(context, 0);

    mMinTimeMillis = min;
    mMaxTimeMillis = max;

    mCallBack = callBack;

    setButton(BUTTON_POSITIVE, context.getText(
            R.string.date_picker_dialog_set), this);
    setButton(BUTTON_NEGATIVE, context.getText(android.R.string.cancel),
            (OnClickListener) null);
    setIcon(0);
    setTitle(context.getText(R.string.date_time_picker_dialog_title));

    LayoutInflater inflater =
            (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.date_time_picker_dialog, null);
    setView(view);
    mDatePicker = (DatePicker) view.findViewById(R.id.date_picker);
    DateDialogNormalizer.normalize(mDatePicker, this,
            year, monthOfYear, dayOfMonth, hourOfDay, minute, min, max);

    mTimePicker = (TimePicker) view.findViewById(R.id.time_picker);
    mTimePicker.setIs24HourView(is24HourView);
    mTimePicker.setCurrentHour(hourOfDay);
    mTimePicker.setCurrentMinute(minute);
    mTimePicker.setOnTimeChangedListener(this);
    onTimeChanged(mTimePicker, mTimePicker.getCurrentHour(),
            mTimePicker.getCurrentMinute());
}
 
源代码14 项目: Mysplash   文件: TimePickerDialog.java
private void initWidget(View view) {
    this.container = view.findViewById(R.id.dialog_time_picker_container);

    Button done = view.findViewById(R.id.dialog_time_picker_done);
    done.setOnClickListener(v -> {
        String hourText;
        String minuteText;

        if (hour < 10) {
            hourText = "0" + hour;
        } else {
            hourText = Integer.toString(hour);
        }

        if (minute < 10) {
            minuteText = "0" + minute;
        } else {
            minuteText = Integer.toString(minute);
        }

        if (startTime) {
            ThemeManager.getInstance(getActivity())
                    .setNightStartTime(getActivity(), hourText + ":" + minuteText);
        } else {
            ThemeManager.getInstance(getActivity())
                    .setNightEndTime(getActivity(), hourText + ":" + minuteText);
        }

        if (listener != null) {
            listener.timeChanged();
        }

        dismiss();
    });

    Button cancel = view.findViewById(R.id.dialog_time_picker_cancel);
    cancel.setOnClickListener(v -> dismiss());

    TimePicker timePicker = view.findViewById(R.id.dialog_time_picker_time_picker);
    timePicker.setIs24HourView(true);
    timePicker.setOnTimeChangedListener((view1, hourOfDay, minute) -> {
        this.hour = hourOfDay;
        this.minute = minute;
    });
}
 
源代码15 项目: SlideDateTimePicker   文件: TimeFragment.java
/**
 * Create and return the user interface view for this fragment.
 */
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState)
{
    int theme = getArguments().getInt("theme");
    int initialHour = getArguments().getInt("hour");
    int initialMinute = getArguments().getInt("minute");
    boolean isClientSpecified24HourTime = getArguments().getBoolean("isClientSpecified24HourTime");
    boolean is24HourTime = getArguments().getBoolean("is24HourTime");

    // Unless we inflate using a cloned inflater with a Holo theme,
    // on Lollipop devices the TimePicker will be the new-style
    // radial TimePicker, which is not what we want. So we will
    // clone the inflater that we're given but with our specified
    // theme, then inflate the layout with this new inflater.

    Context contextThemeWrapper = new ContextThemeWrapper(
            getActivity(),
            theme == SlideDateTimePicker.HOLO_DARK ?
                     android.R.style.Theme_Holo :
                     android.R.style.Theme_Holo_Light);

    LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper);

    View v = localInflater.inflate(R.layout.fragment_time, container, false);

    mTimePicker = (TimePicker) v.findViewById(R.id.timePicker);
    // block keyboard popping up on touch
    mTimePicker.setDescendantFocusability(DatePicker.FOCUS_BLOCK_DESCENDANTS);
    mTimePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

        @Override
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute)
        {
            mCallback.onTimeChanged(hourOfDay, minute);
        }
    });

    // If the client specifies a 24-hour time format, set it on
    // the TimePicker.
    if (isClientSpecified24HourTime)
    {
        mTimePicker.setIs24HourView(is24HourTime);
    }
    else
    {
        // If the client does not specify a 24-hour time format, use the
        // device default.
        mTimePicker.setIs24HourView(DateFormat.is24HourFormat(
            getTargetFragment().getActivity()));
    }

    mTimePicker.setCurrentHour(initialHour);
    mTimePicker.setCurrentMinute(initialMinute);

    // Fix for the bug where a TimePicker's onTimeChanged() is not called when
    // the user toggles the AM/PM button. Only applies to 4.0.0 and 4.0.3.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH &&
        Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
    {
        fixTimePickerBug18982();
    }

    return v;
}
 
源代码16 项目: SlideDayTimePicker   文件: TimeFragment.java
/**
 * Create and return the user interface view for this fragment.
 */
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState)
{
    int theme = getArguments().getInt("theme");
    int initialHour = getArguments().getInt("hour");
    int initialMinute = getArguments().getInt("minute");
    boolean isClientSpecified24HourTime = getArguments().getBoolean("isClientSpecified24HourTime");
    boolean is24HourTime = getArguments().getBoolean("is24HourTime");

    // Unless we inflate using a cloned inflater with a Holo theme,
    // on Lollipop devices the TimePicker will be the new-style
    // radial TimePicker, which is not what we want. So we will
    // clone the inflater that we're given but with our specified
    // theme, then inflate the layout with this new inflater.

    Context contextThemeWrapper = new ContextThemeWrapper(
            getActivity(),
            theme == SlideDayTimePicker.HOLO_DARK ?
                    android.R.style.Theme_Holo : android.R.style.Theme_Holo_Light);
    LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper);
    View v = localInflater.inflate(R.layout.fragment_time, container, false);

    mTimePicker = (TimePicker) v.findViewById(R.id.timePicker);
    // block keyboard popping up on touch
    mTimePicker.setDescendantFocusability(DatePicker.FOCUS_BLOCK_DESCENDANTS);
    mTimePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

        @Override
        public void onTimeChanged(TimePicker view, int hourOfDay, int minute)
        {
            mCallback.onTimeChanged(hourOfDay, minute);
        }
    });

    // If the client specifies a 24-hour time format, set it on
    // the TimePicker.
    if (isClientSpecified24HourTime)
    {
        mTimePicker.setIs24HourView(is24HourTime);
    }
    else
    {
        // If the client does not specify a 24-hour time format, use the
        // device default.
        mTimePicker.setIs24HourView(DateFormat.is24HourFormat(
            getTargetFragment().getActivity()));
    }

    mTimePicker.setCurrentHour(initialHour);
    mTimePicker.setCurrentMinute(initialMinute);

    // Fix for the bug where a TimePicker's onTimeChanged() is not called when
    // the user toggles the AM/PM button. Only applies to 4.0.0 and 4.0.3.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH &&
        Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
    {
        fixTimePickerBug18982();
    }

    return v;
}
 
源代码17 项目: commcare-android   文件: DateTimeWidget.java
public DateTimeWidget(Context context, FormEntryPrompt prompt) {
    super(context, prompt);

    mDatePicker = new DatePicker(getContext());
    mDatePicker.setFocusable(!prompt.isReadOnly());
    mDatePicker.setEnabled(!prompt.isReadOnly());

    mTimePicker = new TimePicker(getContext());
    mTimePicker.setFocusable(!prompt.isReadOnly());
    mTimePicker.setEnabled(!prompt.isReadOnly());
    mTimePicker.setPadding(0, 20, 0, 0);
    mTimePicker.setOnTimeChangedListener(this);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        mTimePicker.setSaveFromParentEnabled(false);
        mTimePicker.setSaveEnabled(true);
    }

    String clockType =
            android.provider.Settings.System.getString(context.getContentResolver(),
                    android.provider.Settings.System.TIME_12_24);
    if (clockType == null || clockType.equalsIgnoreCase("24")) {
        mTimePicker.setIs24HourView(true);
    }

    mDateListener = (view, year, month, day) -> {
        if (mPrompt.isReadOnly()) {
            setAnswer();
        } else {
            // handle leap years and number of days in month
            // TODO
            // http://code.google.com/p/android/issues/detail?id=2081
            Calendar c = Calendar.getInstance();
            c.set(year, month, 1);
            int max = c.getActualMaximum(Calendar.DAY_OF_MONTH);
            if (day > max) {
                //If the day has fallen out of spec, set it to the correct max
                mDatePicker.updateDate(year, month, max);
            } else {
                if (!(mDatePicker.getDayOfMonth() == day && mDatePicker.getMonth() == month && mDatePicker.getYear() == year)) {
                    //CTS: No reason to change the day if it's already correct?
                    mDatePicker.updateDate(year, month, day);
                }
            }
        }
        widgetEntryChanged();
    };

    // If there's an answer, use it.
    setAnswer();

    setGravity(Gravity.LEFT);
    addView(mDatePicker);
    addView(mTimePicker);

}