Java switch statement: Constant expression required, but it IS constant

前端 未结 13 1663
予麋鹿
予麋鹿 2020-11-22 10:42

So, I am working on this class that has a few static constants:

public abstract class Foo {
    ...
    public static final int BAR;
    public static final          


        
13条回答
  •  野性不改
    2020-11-22 11:19

    Got this error in Android while doing something like this:

     roleSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
    
                switch (parent.getItemAtPosition(position)) {
                    case ADMIN_CONSTANT: //Threw the error
    
                }
    

    despite declaring a constant:

    public static final String ADMIN_CONSTANT= "Admin";

    I resolved the issue by changing my code to this:

    roleSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView parent, View view, int position, long id) {
    
                String selectedItem = String.valueOf(parent.getItemAtPosition(position));
                switch (selectedItem) {
                    case ADMIN_CONSTANT:
    
                }
    

提交回复
热议问题