关于NumberPicker的一些操作

来源:互联网 发布:天猫交易实时数据 编辑:程序博客网 时间:2024/09/21 09:25
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() {@Overridepublic 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);}@Overridepublic 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() {@Overridepublic void onMinuteSelected(NumberPicker view, int minute) {tvThreshold.setText(getString(R.string.vibrate_minute_title, minute));}}).show();

1 0
原创粉丝点击