Android计算器应用程序前端:如何允许使用按钮而不是键盘输入数字?

k3fezbri  于 2023-05-27  发布在  Android
关注(0)|答案(2)|浏览(138)

我们都知道计算器是如何工作的。我想在android studio中做一个计算器。问题是,我不希望用户使用他们的键盘来给予数字,相反,用户将使用应用程序上的按钮。下图:x1c 0d1x
现在的问题是如何做这个按钮的事情?当用户单击按钮1时,edittext应显示1,如果按下2,则在edittext中的1之后显示2。我完全不知道。我只想在编辑文本中得到一个像456+54-56/5这样的方程。我可能会做数学编码,但我不能有数字。我不知道如何在edittext中输入,除了键盘,这不是一个真正的计算器的东西。
我什么都做不了。我做了这个-

Button C_button = findViewById(R.id.c);
        C_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ((EditText)findViewById(R.id.et_ans)).setText("0");
            }
        });

但我知道为什么它不起作用,它只是简单地把字符串零一起在edittext每次我点击零按钮。但不像键盘输入那样工作。有人能帮我吗?

ccrfmcuu

ccrfmcuu1#

你可以在字符串变量中存储值,当你按下一个新键时,你只需将该值附加到字符串变量中,并将其设置为editText。假设您创建了一个示例变量,如-

String myValue = "";

现在你按下数字为1的按钮,点击按钮后的逻辑是-

@Override
public void onClick(View view) {
    myValue = myValue+"1";
    ((EditText)findViewById(R.id.et_ans)).setText(myValue);
}

希望这对你有帮助。你也可以使用StringBuilder来实现同样的功能。

yws3nbqq

yws3nbqq2#

您可以获取EditText中已经存在的字符串,然后连接新的数字。
例如:-

EditText edt = ((EditText)findViewById(R.id.et_ans));
Button one_button = findViewById(R.id.one);
     one_button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                  String a=edt.getText().toString();
                  edt.setText(a+ "1");
                }
            });

相关问题