В Android, как вы получаете диалоговое окно с предупреждением для добавления элемента в список, если пользователь нажимает да и наоборот? - PullRequest
0 голосов
/ 27 августа 2011

Я занимаюсь разработкой простого приложения для ресторана в Android, я использовал меню и раздутые пункты подменю, соответствующие каждому пункту меню, я хотел узнать, как добавить название блюда в список, только если пользователь выбирает «да» в диалог оповещения и наоборот. Вот мой код

   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;    

        }

// как я могу передать данные onOptionsItemSelected в список, только если пользователь выбирает yes в alerttdiaolog

1 Ответ

0 голосов
/ 27 августа 2011

Пожалуйста, см. этот вопрос для получения дополнительной информации.Он ссылается на другой ответ , в котором говорится о том, как и когда вы можете использовать notifyDataSetChanged .

Я думаю, что в вашем AlertDialog вы бы хотели кнопку "Добавить" и кнопку "Отмена", чтобы отменить добавление его в корзину.После нажатия кнопки «Добавить» вы добавите товар в корзину пользователей.Чтобы добавить еще одну кнопку в свой AlertDialog, вы должны использовать ab.setNegativeButton (...), как вы это делали с setPositiveButton.Это только мое мнение, правильно ли я понимаю ваше использование onCreateDialog - или оно используется только для того, чтобы сообщить пользователю, что оно было добавлено?

Пожалуйста, посмотрите этот вопрос для более конкретногосправка о том, как реализовать в AlertDialog.

...