java - 如何在Edittext afterTextChanged 中使用两位数?

标签 java android

我无法在 Edittext 中添加两位数并计算最终价格。我对一位数字没有任何问题。但是当我想添加两位数时我的应用程序关闭了。

    edt_value.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void afterTextChanged(Editable editable) {
            if (TextUtils.isEmpty(edt_value.getText())){
                edt_value.clearFocus();
                txt_finalprice.setText(gl_price.toString());
            }else {
                if(getCurrentFocus() == edt_value) {
                    int value = Integer.parseInt(edt_value.getText().toString().trim());
                    int price = Integer.parseInt(txt_finalprice.getText().toString().trim());
                    txt_finalprice.setText(value * price + "$");
                }
            }

        }
    });

最佳答案

您可能会使用Double.parseDouble而不是Integer.parseInt得到超出整数范围的计算数据

更新

这是这段代码中的问题:

int value = Integer.parseInt(edt_value.getText().toString().trim());
                    int price = Integer.parseInt(txt_finalprice.getText().toString().trim());
                    txt_finalprice.setText(value * price + "$");

您从 txt_finalprice 中获取价格,一开始没问题,然后在最后一个语句中,您将值*价格+“$”设置为 txt_finalprice,现在 txt_finalprice 有一些数字和 $(例如:30$),当您再次在编辑文本中输入一些内容,这一次您将 txt_finalprice 值转换为价格,但这会引发异常,因为 txt_finalprice 包含 $ 并且无法转换为 int。

您需要将 txt_finalprice 值存储到变量中。

关于java - 如何在Edittext afterTextChanged 中使用两位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54931813/

相关文章:

java - 在 SVG 中创建图像并使用 Base64 编码 URI 和 JAVA 在 HTML 中渲染它们

java - 链式 java.lang.SQLException 实例与 Throwable#getCause

android - EditText.SetText() 更改自定义适配器中的软键盘输入类型

android - 与 Glide 同步加载图片

java - 如何从 Firebase 检索数据并将其设置为图表的 string 和 int

java - 如何从 firebase 有条件获取 listarray ?

java - 如何在Java中将字节数组写入二进制文件

java - 如何使用 spring 管理的事务性 EntityManager 执行自定义 SQL 查询

java - 为什么 Intent 不需要 ActivityNotFound 异常?

java - Android HttpPost 和多线程的一些问题