En Android, ¿cómo se obtiene un cuadro de diálogo de alerta para agregar un elemento a una lista si el usuario presiona sí y viceversa?

Estoy desarrollando una aplicación de restaurante simple en Android, usé menús y elementos de submenú inflados correspondientes a cada elemento del menú, quería saber una forma de cómo agregar el nombre del plato a la lista solo si el usuario selecciona sí en el cuadro de diálogo de alerta y viceversa. Aqui esta mi codigo

   public boolean onOptionsItemSelected(MenuItem m)
    {
        super.onOptionsItemSelected(m);
        switch(m.getItemId())
        {
            case R.id.Chicken_Biryani:
            selectedItem.add(m.getTitle().toString());
            cost.add(150);
            Toast.makeText(getApplicationContext(),"Hyderabadi special: Chicken   biryani costs 150 Rs"+selectedItem, Toast.LENGTH_LONG).show();
            showDialog(ALERT_DIALOG); 
            break;

            case R.id.Butter_Chicken:
            selectedItem.add(m.getTitle().toString());
            cost.add(150);
            Toast.makeText(getApplicationContext(),"Now with Punjabi Tadka: Butter Chicken costs 150 Rs", Toast.LENGTH_LONG).show();
            showDialog(ALERT_DIALOG);   

            break;

                   ........

      public Dialog onCreateDialog(int id) {
        switch(id)
        {
        case ALERT_DIALOG:
        AlertDialog.Builder ab = new AlertDialog.Builder(this);
        ab.setTitle("Buy Items");
        ab.setMessage(" You have added the item to your cart ");
        ab.setIcon(R.drawable.shopcart);
        ab.setPositiveButton("Ok", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog, int which){         
            Toast.makeText(getApplicationContext(),"Item added to cart your cart contains "+selectedItem.size()+" Items", Toast.LENGTH_LONG).show();    
            }});    
    Dialog ad = ab.create();
        return ad;  
        }
        return null;    

        }

// ¿Cómo paso los datos de onOptionsItemSelected a la lista solo si el usuario selecciona sí en el dialogo de alerta?

preguntado el 27 de agosto de 11 a las 19:08

1 Respuestas

Por favor mira este pregunta para obtener más información. Vincula a otro https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be que habla sobre cómo y cuándo puede usar notifyDataSetChanged.

Creo que en su AlertDialog querrá un botón "Agregar" y un botón "Cancelar" para cancelar la adición al carrito. Al hacer clic en agregar, insertaría el artículo en el carrito de los usuarios. Para agregar otro botón a su AlertDialog, usaría ab.setNegativeButton (...) tal como lo hizo con setPositiveButton. Esta es solo mi opinión al respecto, ¿estoy entendiendo correctamente su uso de onCreateDialog, o se usa solo para decirle al usuario que se ha agregado?

Por favor mira este pregunta para obtener ayuda más específica sobre cómo implementar dentro de un AlertDialog.

contestado el 23 de mayo de 17 a las 12:05

sí, tiene razón, lo hice pero tuve que cambiarlo porque no pude hacerlo, ¿puede modificar mi código y hacerme saber el procedimiento para hacerlo? Arif Nadeem

Quiero decir, ¿cómo uso el método notifyDataSetChanged en AlertDialog? Arif Nadeem

Por favor, vea mis ediciones, esa pregunta usa el notifyDataSetChanged en un AlertDialog - Jack

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.