android - java : constant expression required. switch satement use some constants which are defined in another calss -


this question has answer here:

in switch statement,i use constants defined in class. ide tell me constant expression required.

i writing android app, , in mainactivity write this:

private static final int homefragmentindex = 0; private static final int messagefragmentindex = 1; private static final int snsfragmentindex = 2; private static final int discoveryfragmentindex = 3; private static final int minefragmentindex = 4;  public static int gethomefragmentindex() {     return homefragmentindex; }  public static int getmessagefragmentindex() {     return messagefragmentindex; }  public static int getsnsfragmentindex() {     return snsfragmentindex; }  public static int getdiscoveryfragmentindex() {     return discoveryfragmentindex; }  public static int getminefragmentindex() {     return minefragmentindex; } 

and in class use switch statement this:

final int homefragmentindex = mainactivity.gethomefragmentindex(); final int messageframentindex = mainactivity.getmessagefragmentindex(); final int snsfragmentindex = mainactivity.getsnsfragmentindex(); final int discoveryfragmentindex = mainactivity.getdiscoveryfragmentindex(); final int minefragentindex = mainactivity.getminefragmentindex();  switch (mcurindicator) { case homefragmentindex:     //     break; case messageframentindex:     //     break; case snsfragmentindex:     //     break; case discoveryfragmentindex:     //     break; case minefragentindex:     //     break; default:     break; } 

the android studio tell me constant expression required,but truely use static fianl int. maybe can solve problem,thanks.

class some{     public static final int homefragmentindex = 0;     public static final int messagefragmentindex = 1;     public static final int snsfragmentindex = 2;     public static final int discoveryfragmentindex = 3;     public static final int minefragmentindex = 4;  }  class anotherclass{     void yourmethod(int mcurindicator){          switch (mcurindicator) {             case some.homefragmentindex:                 //                 break;             case some.messagefragmentindex:                 //                 break;             case some.snsfragmentindex:                 //                 break;             case some.discoveryfragmentindex:                 //                 break;             case some.minefragmentindex:                 //                 break;             default:                 break;             }      } } 

Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -