Comment utiliser le sélecteur de numéros avec dialogue

Je souhaite utiliser un sélecteur de nombres dans le but d'obtenir le pourcentage de réduction de l'utilisateur. Une fois que l'utilisateur entre le prix de vente, je souhaite qu'une boîte de dialogue apparaisse demandant le pourcentage de réduction. Je ne peux pas trouver un moyen d'intégrer le numéropicker dans la boîte de dialogue.

  • Pour chaque intérieur d'un pour chaque - Java
  • Comment effectuer une requête DELETE sans type de retour ou Rappel?
  • La liaison de données Android, ne peut pas générer de classeurs de vue
  • Barcode / Qr Code Reader pour Android
  • Comment puis-je trouver et exécuter le keytool
  • Comment faire un clavier à l'écran courbé pour Android
  • Étendre RelativeLayout et surpasser dispatchDraw () pour créer un ViewGroup zoomable
  • Blessure fatale: la recherche Focus a renvoyé une vue qui n'a pas pu prendre l'accent
  • Comment puis-je vérifier la consommation de réseau de mon application Android?
  • My-Location Button de GoogleMaps v2 Android, non affiché
  • Comment trouver une position de clic absolue tout en étant agrandie
  • Comment utiliser KSoap 2 dans Android
  • 3 Solutions collect form web for “Comment utiliser le sélecteur de numéros avec dialogue”

    J'ai fait une petite démo de NumberPicker. Cela peut ne pas être parfait mais vous pouvez utiliser et modifier le même.

    Utilisez une boîte de dialogue personnalisée et configurez le sélecteur de numéro.

    Plus d'informations @

    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> 

    Tir rapide

    Entrez la description de l'image ici

    Essayez le code suivant:

      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(); 

    Ceci est une variation beaucoup plus courte des autres réponses

     final NumberPicker picker = new NumberPicker(context); picker.setMinValue(1); picker.setMaxValue(50); final 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, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // do something with picker.getValue() } }) .setNegativeButton(android.R.string.cancel, null) .show(); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.