Search code examples
androiddialognumberpicker

Show certain value in NumberPicker


Is it possible to show certain value when user opens NumberPicker? For example, I have min value = 10, max value = 50;

final NumberPicker picker = new NumberPicker(MonitorActivity.this);
        picker.setMinValue(10);
        picker.setMaxValue(50);

When NumberPicker is opened, I want to show value = 30 instead of standart 10. How can I do this?

UPDATE:

upTv = (TextView) findViewById(R.id.upper_tv);
 upTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                show(180, 200, upTv);

            }
        });
public void show(int int1, int int2, final TextView tv)
    {

        String button1String = "OK";
        String button2String = "cancell";
        ad = new AlertDialog.Builder(MonitorActivity.this);
        ad.setTitle("Title");  



        final NumberPicker picker = new NumberPicker(MonitorActivity.this);
        picker.setMinValue(int1);
        picker.setMaxValue(int2);
        picker.setWrapSelectorWheel(false);
        final FrameLayout parent = new FrameLayout(MonitorActivity.this);
        parent.addView(picker, new FrameLayout.LayoutParams(
                FrameLayout.LayoutParams.WRAP_CONTENT,
                FrameLayout.LayoutParams.WRAP_CONTENT,
                Gravity.CENTER));
        ad.setView(parent);

        ad.setPositiveButton(button1String, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int arg1) {


                int pickedValue = picker.getValue();
                tv.setText(String.valueOf(picker.getValue()));
                picker.setValue(pickedValue);
            }
        });
        ad.setNegativeButton(button2String, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int arg1) {

            }
        });
        ad.setCancelable(true);

        ad.show();
    }

Solution

  • NumberPicker picker = new NumberPicker(MonitorActivity.this);
    picker.setMinValue(10);
    picker.setMaxValue(50);
    

    You just need to do this to defaulty display 30.

    picker.setValue(30);