case expressions must be constant expression

Android

前に作っていたAndroidプロジェクトをEclipse(ADT)で開くと、

 
 public void onClick(View v) {
        Intent i;
        switch (v.getId()) {
            case R.id.action_1:
                this.startRecord(Construct.STATUS_1);
                this.setInfoText();
 …後略

のような、case 文 + R.id の組み合わせで表題のエラーが。

 case R.id.action_1:

出てくるウィンドウの注意書きを見ると、case 文ではダメなので、if文に書き直してねーということらしい。(ちょっと端折りました)

でも、これかなりの数この表現で書いてあって、if ~ elseに直すの?絶望的[sad] と思っていたら、Stack Overflowにいいこと書いてありました![smile]

http://stackoverflow.com/questions/9092712/switch-case-statement-error-case-expressions-must-be-constant-expression

プロジェクトのプロパティ→Android→LibraryのIs Libraryのチェックを外せば行ける、と!

事実、これで動作するようになりました。
ありがとうございます!

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です