2011-11-21 10 views
0

私はswichの場合にはまっています。スウィッチケースはアンドロイドでは動作しませんか?

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 &はそのがswich場合、なぜには行っていないだけで、この行をログました私は知らない、あなたが私を助けることができますか?スイッチケースは整数で動作しますデフォルトでは

+0

私は 'switch'ステートメントは表示されません。あなたは 'if ... else if'チェーンを持っています。 1つのブランチだけが実行されます。何が起こると思いますか? –

+0

私はスイッチケースを置くことを忘れます。私はelseとswitch caseの両方を使用しました。両方の状態ではない状態で。 –

答えて

0

解決策が見つかりました。私はこのposSel_layをバンドルから他のactivity.Previously私はボタンをクリックして今すぐ私は、フローを変更しました 私はバンドルからposSel_layの値を取得しているスイッチのコードを書いた &私は、ローカルで宣言されている真偽値をいくつか作成しています。そして、ユーザ がボタンをクリックしたとき、私は検査のためにブール変数を使用しました。その後、その完了。 ご返信ありがとうございます。

0

は、なぜあなたは、次のような何かしようとしないでください:今

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チェーンを使用して、あなたが使用IMOはもっとクリーンです。

+0

こんにちはジャック、int値でこのメソッドを試してみましたが、その問題は何の問題かわかりません。 –

+0

私は分かりませんが、posSel_layの値が何であるかを見るためにデバッグしましたか? – Jack

+0

返信ありがとう、私の質問、私は解決策を見つけました。 –

0
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

私は本当にあなたの質問を理解することはできませんが、ここですべての答えは良いです

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

yaしかし、ログでは何がposSel_layの値ですが、スイッチが動作していないということは、その状態がチェックされないことを意味します。 –

1

をSwitchCaseています。

しかし、少なくともメッセージのパラメータparamにメッセージを入れてください。そうでなければ、ログでこれを見ることができません

Log.e("@@@@@@@@@@@@@@@@@@@ZINDAGI","some message.");