В Android, как получить диалоговое окно с предупреждением о добавлении элемента в список, если пользователь нажимает да и наоборот

Я разрабатываю простое приложение Restaurant на 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


person Arif Nadeem    schedule 27.08.2011    source источник


Ответы (1)


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

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

См. этот вопрос для получения более подробной информации о том, как реализовать в AlertDialog.

person Jack    schedule 27.08.2011
comment
да, вы правы, я сделал это, но мне пришлось изменить это, потому что я не мог этого сделать, не могли бы вы изменить мой код и сообщить мне процедуру выполнения - person Arif Nadeem; 27.08.2011
comment
Я имею в виду, как использовать метод notifyDataSetChanged в AlertDialog - person Arif Nadeem; 27.08.2011
comment
Пожалуйста, посмотрите мои правки, этот вопрос использует notifyDataSetChanged в AlertDialog - person Jack; 28.08.2011