开发者社区> 问答> 正文

关于枚举的赋值问题

public void huadonganniu(View v){
    /*Intent intent1=new Intent();
    intent1.setClassName("com.example.t", "com.example.t.TService");*/
    btn_huadongkaiguan=(ToggleButton) findViewById(R.id.btn_huadongkaiguan);
    et_guanbi=(EditText) findViewById(R.id.et_guanbi);
    et_ok=(EditText) findViewById(R.id.et_ok);
    et_caidan=(EditText) findViewById(R.id.et_caidan);
    et_shezhi=(EditText) findViewById(R.id.et_shezhi);
    et_fangxiang=(EditText) findViewById(R.id.et_fangxiang);
    et_fanhui=(EditText) findViewById(R.id.et_fanhui);
    et_a=(EditText) findViewById(R.id.et_a);
    et_b=(EditText) findViewById(R.id.et_b);
    et_c=(EditText) findViewById(R.id.et_c);
    et_x=(EditText) findViewById(R.id.et_x);
    String msg3=btn_huadongkaiguan.getText().toString();
    EditText[] arr=new EditText[10];
    arr=new EditText[]{et_guanbi,et_ok,et_caidan,et_shezhi,
            et_fangxiang,et_fanhui,et_a,et_b,et_c,et_x};
    if (msg3.equals("guan")) {
        for (int i = 0; i < arr.length; i++) {
            arr[i].setText("");
            arr[i].addTextChangedListener(new NewTextWatcher(arr[i],i));
        }
}
}

public enum anjian{guanbi,ok,caidan,shezhi,fangxiang,fanhui,a,b,c,x};
anjian onet,twot,thr,fro,fiv,six,sev,eig,nin,ten;
class NewTextWatcher implements TextWatcher{
    private EditText editText;
    private int z;
    public NewTextWatcher(EditText editText, int x) {
        this.editText = editText;
        this.z=x;
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        String msg4=editText.getText().toString();
        int data1=Integer.parseInt(msg4);
        if (z==0) {
            
        }
        System.out.println(z+msg4);
        
    }

    @Override
    public void afterTextChanged(Editable s) {
        
        
    }
    
}

就是在那个if(z==0)
那块需要把data1的值赋给enum anjian里的guanbi这个元素
直接在if(z==0)那块写anjian.guanbi=data1 报错了
但是 data1好像也无法赋值给enum anjian 下的onet变量 第一次接触到 枚举这个概念 请教下.

展开
收起
蛮大人123 2016-03-10 11:16:34 2178 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    enum的成员变量都是final常量,当然anjian.guanbi = data1会报错了。应该这么写
    anjian aj = anjian.guanbi;
    尽量规范一点吧

    enum MyButton {
        OPEN, CLOSE, SETTING
    
    }
    2019-07-17 18:57:14
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载