关于NumberPicker的一些操作

public class MinutePickerDialog extends AlertDialog implements android.content.DialogInterface.OnClickListener {

	private OnMinuteSelectedListener mListener;

	private NumberPicker mMinutePicker;

	public MinutePickerDialog(final Context context, OnMinuteSelectedListener callback) {
		super(context);
		mListener = callback;
		setIcon(0);

		Context themeContext = getContext();
		setButton(BUTTON_NEGATIVE, themeContext.getText(R.string.vibrate_minute_negative), this);
		setButton(BUTTON_POSITIVE, themeContext.getText(R.string.vibrate_minute_positive), this);

		mMinutePicker = new NumberPicker(context);
		mMinutePicker.setMinValue(0);
		mMinutePicker.setMaxValue(4);
		final String[] minutes = context.getResources().getStringArray(R.array.minute);
		setTitle(context.getString(R.string.vibrate_minute_title, minutes[0]));
		mMinutePicker.setDisplayedValues(minutes);
		mMinutePicker.setOnValueChangedListener(new OnValueChangeListener() {

			@Override
			public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
				setTitle(context.getString(R.string.vibrate_minute_title, minutes[newVal]));
			}
		});
		LinearLayout layout = new LinearLayout(context);
		layout.setGravity(Gravity.CENTER);
		layout.addView(mMinutePicker, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
		setView(layout);
		setCanceledOnTouchOutside(true);
	}

	@Override
	public void onClick(DialogInterface dialog, int which) {
		switch (which) {
		case BUTTON_POSITIVE:
			if (mListener != null) {
				mMinutePicker.clearFocus();
				mListener.onMinuteSelected(mMinutePicker, Integer.parseInt(mMinutePicker.getDisplayedValues()[mMinutePicker.getValue()]));
			}
			break;

		default:
			break;
		}
	}

	/**
	 * The callback interface used to indicate the user is done filling in the
	 * time (they clicked on the 'Set' button).
	 */
	public interface OnMinuteSelectedListener {

		/**
		 * @param view
		 *            The view associated with this listener.
		 * @param minute
		 *            The minute that was set.
		 */
		void onMinuteSelected(NumberPicker view, int minute);
	}

}

	new MinutePickerDialog(getActivity(), new OnMinuteSelectedListener() {

				@Override
				public void onMinuteSelected(NumberPicker view, int minute) {
					tvThreshold.setText(getString(R.string.vibrate_minute_title, minute));
				}

			}).show();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值