Как в switch, case засунуть итемы из строкового массива?

Рейтинг: 1Ответов: 1Опубликовано: 01.12.2014

Есть строковый массив в DrawerMenu, по клику на меню нужно перейти на новую активность, для каждого своя это понятно, но как определить каждую строку в case? каждая строка меню в массиве, как их оттуда вытащить?

private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                                         
        selectItem(position);                   
            }
        };

private void selectItem(int position) {

    Intent intent;

  switch(item.getItemId) {
case ????:
    intent = new Intent("ru.class.name");
    startActivity(intent);
    break; 
    }
case ????:
    intent = new Intent("ru.class.name");
    startActivity(intent);
    break; 
    }
case ????:
    intent = new Intent("ru.class.name");
    startActivity(intent);
    break; 
    }

    mDrawerList.setItemChecked(position, true);
    setTitle(mMenuTitles[position]);
    mDrawerLayout.closeDrawer(mDrawerList);

Обновление

switch(position) {
    case 0:
      intent = new Intent("ru.class.name");
      startActivity(intent);
      break; 
    }
     switch(position) {
    case 1:
        intent = new Intent("ru.class.name");
         startActivity(intent);
      break; 
     }

и т.д. сделал, но при позиции 1 вылетает, еще 1 прикол поймал) сделал

startActivity(new Intent(this, about_me.class));

Работает, но через раз... что-то тут не так.

Ответы

▲ 1

В case значениях должны быть константы. Можете сделать соответствующий enum, например.