From the ADT Site:
The constants are not final in a library project. The reason for this is simple: When multiple library projects are combined, the actual values of the fields (which must be unique) could collide. Before ADT 14, all fields were final, so as a result, all libraries had to have all their resources and associated Java code recompiled along with the main project whenever they were used. This was bad for performance, since it made builds very slow. It also prevented distributing library projects that didn't include the source code, limiting the usage scope of library projects.
This is explained here.
So, in order to fix this, I used -
int id = view.getId();
if (id == R.id.button1) {
action1();
} else if (id == R.id.button2) {
action2();
} else if (id == R.id.button3) {
action3();
}
Instead of -
int id = view.getId();
switch (id) {
case R.id.button1:
action1();
break;
case R.id.button2:
action2();
break;
case R.id.button3:
action3();
break;
}
But I have a class GlobalData
and I am not able to fix these errors for the same.
Code-
The error says--
The value for annotation attribute ReportsCrashes.resDialogText
must be a constant expression when I point the cursor to error at R.string.crash_dialog_text
.