android 是否自动将“编辑文本”中的整数值(由用户输入)显示到“文本视图”而不执行任何操作?

fquxozlt  于 2023-01-07  发布在  Android
关注(0)|答案(1)|浏览(101)

我想完成一个项目,其中用户写不同的字符,如A,D,C在一个编辑文本框,然后自动收集这些字符的值(添加在彼此)在另一个文本框。例如,如果用户按下A,然后其值文本框10,然后用户按下B,其值20文本框与A+B值。我正在使用给定的代码,但没有获得成功。
第一个月
`` saif1.addTextChangedListener(新文本观察器(){ @SuppressLint(“SetTextI 18 n”)@文本更改后覆盖公共void(可编辑的mEdit){字符串文本= mEdit.toString();

if (text.equals("A")) {

                    charactervalue.setText("10");
                    
                String n1 = charactervalue.getText().toString();
                int n11 = Integer.parseInt(n1);
                String n2 = result.getText().toString();
                int n22 = Integer.parseInt(n2);
                finaltotal.setText(String.valueOf(n11 + n22));

            }else if(text.equals("B")) {

                charactervalue.setText("20");

            }

        }

        public void beforeTextChanged(CharSequence s, int start, int count, int after){

        }

        public void onTextChanged(CharSequence s, int start, int before, int count){

        }

    });
83qze16e

83qze16e1#

尝试此代码

binding.saif1.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

    @Override
    public void afterTextChanged(Editable mEdit) {
        String text = mEdit.toString();
        int temp = 0;

        for (char ch : text.toCharArray()) {
            if (ch == 'A') {
                temp += 10;
            } else if (ch == 'B') {
                temp += 20;
            }
        }

        binding.textView.setText(String.valueOf(temp));
    }
});

您可以通过复制else if case来添加更多条件。

else if (ch == 'C') {
    temp += 30;
}

相关问题