@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.number_picker_dialog, null); Button doneButton = (Button) view.findViewById(R.id.done_button); Button cancelButton = (Button) view.findViewById(R.id.cancel_button); cancelButton.setTextColor(mTextColor); cancelButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { dismiss(); } }); doneButton.setTextColor(mTextColor); doneButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { BigDecimal number = mPicker.getEnteredNumber(); if (mMinNumber != null && mMaxNumber != null && (isSmaller(number) || isBigger(number))) { String errorText = getString(R.string.min_max_error, mMinNumber, mMaxNumber); mPicker.getErrorView().setText(errorText); mPicker.getErrorView().show(); return; } else if (mMinNumber != null && isSmaller(number)) { String errorText = getString(R.string.min_error, mMinNumber); mPicker.getErrorView().setText(errorText); mPicker.getErrorView().show(); return; } else if (mMaxNumber != null && isBigger(number)) { String errorText = getString(R.string.max_error, mMaxNumber); mPicker.getErrorView().setText(errorText); mPicker.getErrorView().show(); return; } for (NumberPickerDialogHandlerV2 handler : mNumberPickerDialogHandlersV2) { handler.onDialogNumberSet( mReference, mPicker.getNumber(), mPicker.getDecimal(), mPicker.getIsNegative(), number); } final Activity activity = getActivity(); final Fragment fragment = getTargetFragment(); if (activity instanceof NumberPickerDialogHandlerV2) { final NumberPickerDialogHandlerV2 act = (NumberPickerDialogHandlerV2) activity; act.onDialogNumberSet( mReference, mPicker.getNumber(), mPicker.getDecimal(), mPicker.getIsNegative(), number); } else if (fragment instanceof NumberPickerDialogHandlerV2) { final NumberPickerDialogHandlerV2 frag = (NumberPickerDialogHandlerV2) fragment; frag.onDialogNumberSet( mReference, mPicker.getNumber(), mPicker.getDecimal(), mPicker.getIsNegative(), number); } dismiss(); } }); mPicker = (NumberPicker) view.findViewById(R.id.number_picker); mPicker.setSetButton(doneButton); mPicker.setTheme(mTheme); mPicker.setDecimalVisibility(mDecimalVisibility); mPicker.setPlusMinusVisibility(mPlusMinusVisibility); mPicker.setLabelText(mLabelText); if (mMinNumber != null) { mPicker.setMin(mMinNumber); } if (mMaxNumber != null) { mPicker.setMax(mMaxNumber); } mPicker.setNumber(mCurrentNumber, mCurrentDecimal, mCurrentSign); getDialog().getWindow().setBackgroundDrawableResource(mDialogBackgroundResId); return view; }