Swichcase не работает в Android? - PullRequest
0 голосов
/ 21 ноября 2011

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

Log.e("@@@@@@@@@@@@@@@@@@@@@ pos",""+posSel_lay);
String ff=Integer.toString(posSel_lay);
//var ffs=Integer.toString(posSel_lay);
Log.e("@@@@@@@@@@@@@@@@@@@@@ pos",""+ff);
if(ff.equals("0")){
    Log.e("@@@@@@@@@@@@@@@@@@@Lagan","");
}else if(ff.equals("1")){
    Log.e("@@@@@@@@@@@@@@@@@@@MBBS","");
}else if(ff.equals("2")){
    Log.e("@@@@@@@@@@@@@@@@@@@JODHA","");
}else if(ff.equals("3")){
    Log.e("@@@@@@@@@@@@@@@@@@@ZINDAGI","");
}

Я получил журнал только эту строку @@@@@@@@@@@@@@@@@@@@@@@@@@@ pos 2 и это не будет в том случае, почемуя не знаю, можете ли вы помочь мне, пожалуйста?

Ответы [ 5 ]

1 голос
/ 21 ноября 2011

Все ответы хорошие.

но вы должны хотя бы поместить любое сообщение в параметр сообщения журнала.в противном случае вы не сможете увидеть это в логах

Log.e("@@@@@@@@@@@@@@@@@@@ZINDAGI","some message.");
0 голосов
/ 07 декабря 2011

Я нашел решение.Я получаю этот posSel_lay из комплекта, который передается другим действием. Ранее я записывал код переключателя при нажатии кнопки, так что теперь я изменил поток, когда я получаю значение posSel_lay из комплекта, в то время только я написал код переключателя и там я делаюнекоторые логические значения true или false, которые объявлены локально.И когда пользователь нажимал на кнопку, я использовал булевы переменные для проверки.Тогда это сделано.Спасибо за ваш ответ.

0 голосов
/ 21 ноября 2011
Log.e("@@@@@@@@@@@@@@@@@@@@@ pos", "" + posSel_lay );

switch( posSel_lay ) {
  case 0:
    Log.e("@@@@@@@@@@@@@@@@@@@Lagan","");
    break;
  case 1:
    Log.e("@@@@@@@@@@@@@@@@@@@MBBS","");
    break;
  case 2:
    Log.e("@@@@@@@@@@@@@@@@@@@JODHA","");
    break;
  case 3:
    Log.e("@@@@@@@@@@@@@@@@@@@ZINDAGI","");
    break;
}
0 голосов
/ 21 ноября 2011

Я не могу понять ваш вопрос, но вот SwitchCase

switch(posSel_lay){

  case 0: 
       Log.e("@@@@@@@@@@@@@@@@@@@Lagan","");
       break;

  case 1: 
       Log.e("@@@@@@@@@@@@@@@@@@@MBBS","");
       break;

  case 2: 
       Log.e("@@@@@@@@@@@@@@@@@@@JODHA","");
       break;

   case 3: 
       Log.e("@@@@@@@@@@@@@@@@@@@ZINDAGI","");
       break;
  }
0 голосов
/ 21 ноября 2011

По умолчанию регистр коммутатора работает с целыми числами, почему бы вам не попробовать что-то вроде следующего:

Log.e("@@@@@@@@@@@@@@@@@@@@@ pos",""+posSel_lay);

switch (posSel_lay){
    case 0:
        Log.e("@@@@@@@@@@@@@@@@@@@Lagan","");
        break;
    case 1:
        Log.e("@@@@@@@@@@@@@@@@@@@MBBS","");
        break;
    case 2:
        Log.e("@@@@@@@@@@@@@@@@@@@JODHA","");
        break;
    case 3:
        Log.e("@@@@@@@@@@@@@@@@@@@ZINDAGI","");
        break;
    default:
        break;
}

Теперь вместо преобразования в строку и использования цепочки if-else вы используете оператор select, который в IMO намного чище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...