• android switch语句case expressions must be constant expressions


    在项目中遇到这样的Exception:case expressions must be constant expressions

    public class StandingCityActivity extends Activity implements View.OnClickListener{}

      @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.back:
                
                break;
    
            default:
                break;
            }
        }
    

     从语法、逻辑上面看,都没有问题,但是eclipse报错~~~

    在网上百度找解决办法,广大的程序员同志们提供了解决办法

    http://blog.csdn.net/aaawqqq/article/details/20037407

    主要原因是因为,当前项目是一个被其他项目引用了Library导致的。

    感觉有点莫名其妙,估计和eclipse的支持有关系?或者其他什么的吧,没有深究。

    一种解决办法是,在eclipse中的项目配置里面,将is Library的选项去掉

    另一种解决办法是,逐个的给每个控件设置listener:

            back.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    
                }
            });
    

    补充:

    在当前项目被设置为Library的时候,所有的switch都不可用。

  • 相关阅读:
    多进程乱语
    python常用函数拾零
    Flutter 安装vscode
    Flutter 安装android studio
    vsCode设置
    android ViewPager
    Android shape
    android Intent
    java 集合
    java 泛型
  • 原文地址:https://www.cnblogs.com/zhou-guobao/p/5029771.html
Copyright © 2020-2023  润新知