Android проверяемое меню, чтобы открыть новый класс на выбор - PullRequest
0 голосов
/ 13 января 2012

Я создаю меню в 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, которое выглядит следующим образом:

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

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

1 Ответ

0 голосов
/ 13 января 2012

попробуй Рикки:

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

удачи.

...