Android проверено меню, чтобы открыть новый класс по выбору
-
28-10-2019 - |
Вопрос
Я создаю меню в 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();
удачи.
Не связан с StackOverflow