sorteos repeticion para número numeros numero google generador dime con azar aleatorios aleatorio android dialog numberpicker

android - repeticion - cómo utilizar el selector de números con el diálogo



numeros aleatorios en excel (4)

Cree un DialogFragment implementando el método onCreateDialog que devuelva el diálogo de alerta que contiene la vista NumberPicker. Cree una instancia del fragmento de diálogo en la actividad en la que necesita mostrar el diálogo del selector de números y mostrarlo.

Haga que la actividad del host implemente la interfaz NumberPicker.OnValueChangeListener de modo que los controladores de eventos de clic de botón positivo y negativo en el diálogo puedan pasar el valor actual de NumberPicker llamando al método onValueChange de la interfaz.

Para obtener más información, puede ver http://www.zoftino.com/android-numberpicker-dialog-example .

public class NumberPickerDialog extends DialogFragment { private NumberPicker.OnValueChangeListener valueChangeListener; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final NumberPicker numberPicker = new NumberPicker(getActivity()); numberPicker.setMinValue(20); numberPicker.setMaxValue(60); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("Choose Value"); builder.setMessage("Choose a number :"); builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { valueChangeListener.onValueChange(numberPicker, numberPicker.getValue(), numberPicker.getValue()); } }); builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { valueChangeListener.onValueChange(numberPicker, numberPicker.getValue(), numberPicker.getValue()); } }); builder.setView(numberPicker); return builder.create(); } public NumberPicker.OnValueChangeListener getValueChangeListener() { return valueChangeListener; } public void setValueChangeListener(NumberPicker.OnValueChangeListener valueChangeListener) { this.valueChangeListener = valueChangeListener; } }

Quiero usar un selector de números con el fin de obtener el porcentaje de descuento del usuario. una vez que el usuario ingrese el precio de venta, quiero que aparezca un cuadro de diálogo que solicita el porcentaje de descuento. No puedo encontrar una manera de integrar el selector de números en el diálogo.


Esta es una variación más corta de las otras respuestas.

NumberPicker picker = new NumberPicker(context); picker.setMinValue(1); picker.setMaxValue(50); FrameLayout layout = new FrameLayout(context); layout.addView(picker, new FrameLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER)); new AlertDialog.Builder(context) .setView(layout) .setPositiveButton(android.R.string.ok, (dialogInterface, i) -> { // do something with picker.getValue() picker.getValue(); }) .setNegativeButton(android.R.string.cancel, null) .show();


He hecho una pequeña demostración de NumberPicker. Esto puede no ser perfecto, pero puede usar y modificar el mismo.

Use un diálogo personalizado y configure el selector de números.

Más información @

http://developer.android.com/reference/android/widget/NumberPicker.html

public class MainActivity extends Activity implements NumberPicker.OnValueChangeListener { private TextView tv; static Dialog d ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.textView1); Button b = (Button) findViewById(R.id.button11);// on click of button display the dialog b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { show(); } }); } @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) { Log.i("value is",""+newVal); } public void show() { final Dialog d = new Dialog(MainActivity.this); d.setTitle("NumberPicker"); d.setContentView(R.layout.dialog); Button b1 = (Button) d.findViewById(R.id.button1); Button b2 = (Button) d.findViewById(R.id.button2); final NumberPicker np = (NumberPicker) d.findViewById(R.id.numberPicker1); np.setMaxValue(100); // max value 100 np.setMinValue(0); // min value 0 np.setWrapSelectorWheel(false); np.setOnValueChangedListener(this); b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { tv.setText(String.valueOf(np.getValue())); //set the value to textview d.dismiss(); } }); b2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { d.dismiss(); // dismiss the dialog } }); d.show(); } }

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/button11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="Open" /> </RelativeLayout>

dialog.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <NumberPicker android:id="@+id/numberPicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="64dp" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/numberPicker1" android:layout_marginLeft="20dp" android:layout_marginTop="98dp" android:layout_toRightOf="@+id/numberPicker1" android:text="Cancel" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button2" android:layout_alignBottom="@+id/button2" android:layout_marginRight="16dp" android:layout_toLeftOf="@+id/numberPicker1" android:text="Set" /> </RelativeLayout>

Instantánea


Por favor intente el siguiente código:

RelativeLayout linearLayout = new RelativeLayout(mContext); final NumberPicker aNumberPicker = new NumberPicker(mContext); aNumberPicker.setMaxValue(50); aNumberPicker.setMinValue(1); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(50, 50); RelativeLayout.LayoutParams numPicerParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); numPicerParams.addRule(RelativeLayout.CENTER_HORIZONTAL); linearLayout.setLayoutParams(params); linearLayout.addView(aNumberPicker,numPicerParams); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mContext); alertDialogBuilder.setTitle("Select the number"); alertDialogBuilder.setView(linearLayout); alertDialogBuilder .setCancelable(false) .setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Log.e("","New Quantity Value : "+ aNumberPicker.getValue()); } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show();