Android原生计算器禁止输入多个无效0的修改方案

来源:互联网 发布:阿里云境外断网 编辑:程序博客网 时间:2024/06/05 10:20


最近在项目中遇到的一个BUG,在这里和大家分享下,希望对大家有所帮助!


原生的计算器直接输入0时无限制,可以输入多次无效的0,显示的Textiew中可能出现000000000000000这种情况,可参考如下修改:


修改的文件所在目录如下:

packages/apps/Calculator/src/com/android/calculator2/Calculator.java



        private CalculatorEditText mFormulaEditText;        mFormulaEditText.addTextChangedListener(new TextWatcher() {                        @Override            public void onTextChanged(CharSequence s, int start, int before, int count) {                            }                        @Override            public void beforeTextChanged(CharSequence s, int start, int count,                    int after) {                            }                        @Override            public void afterTextChanged(Editable s) {                if (s.length() > 1 && s.charAt(0) == '0') {                    try {                        Integer integer = Integer.valueOf(s.toString());                        mFormulaEditText.setText(integer.toString());                    } catch (NumberFormatException e) {                        e.printStackTrace();                    }                   }            }        });


核心代码如上,主要是限制EditText中输入的0的数量,修改后输入框中只能输入一个0,不会出现多个无效0的情况。










0 0