Android проверено меню, чтобы открыть новый класс по выбору

StackOverflow https://stackoverflow.com/questions/8850952

Вопрос

Я создаю меню в Android, и я хотел бы, чтобы это меню открыло новый класс в зависимости от того, что выбрал пользователь.

Меню, которое я создал, является по этой ссылке: http://developer.android.com/guide/topics/ui/dialogs.html#alertdialog

И это код для флажков добавления и радиопроизводительных кнопок

У меня есть этот код:

 final CharSequence[] items = {"Red", "Green", "Blue"};

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Pick a color");
        builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {


                Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();
            }
        });
        final AlertDialog alert = builder.create();

Но я хотел бы убрать тост:

Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show();

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

Я пытаюсь сделать утверждение, которое выглядит так:

  if(items.equals("Red")){
                    Intent red = new Intent(Menu.this,Red.class);
                    startActivity(red);
                }

Но это не работает.

Редактировать

Не беспокойтесь, я только что сделал это, делая:

if(items[item].equals("Red")){
                    Intent red = new Intent(Menu.this,Red.class);
                    startActivity(red);
                }

Есть лучший способ сделать это?

Это было полезно?

Решение

Попробуйте, Рики:

final CharSequence[] items = {"Red", "Green", "Blue"};

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Pick a color");
    builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
          Intent color;
          switch(item){
          case 0:
           color = new Intent(Menu.this,Red.class);
          break;
          case 1:
           color = new Intent(Menu.this,Green.class);
          break;
          case 2:
           color = new Intent(Menu.this,Blue.class);
          break;
          default:
           color = null;
          break;
          }
          if(color!=null)startActivity(color);
        }
    });
    final AlertDialog alert = builder.create();

удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top