因此,我已将输入从editTexts转换为整数,以便可以在if else语句的方程式中使用它们,然后将数学结果转换为字符串,以便可以打印结果。我正在尝试制作一个应用程序来帮助物理。我是初学者。告诉我您是否需要更多信息,例如xml文件或清单文件。

velocity.java

    EditText editText1=findViewById(R.id.editText1);
            EditText editText2=findViewById(R.id.editText2);
            EditText editText3=findViewById(R.id.editText3);
            Button solve=findViewById(R.id.solve);
            final String veloInput=editText1.getText().toString();
            final String disInput = editText2.getText().toString();
            final String timInput = editText3.getText().toString();
            final TextView textView=findViewById(R.id.textView5);
            solve.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v){
                    if (veloInput.equals("v")) {
                        int distInput = Integer.parseInt(disInput);
                        int timeInput = Integer.parseInt(timInput);
                        int value = distInput / timeInput;
                        String strValue = Integer.toString(value);
                        textView.setText(strValue);
                    }


我希望它在textView中键入字符串strValue,但是当我按下按钮“ solve”时什么也没有发生。

最佳答案

调用editText1.getText().toString()时,您将从那时的editText1中获取字符串。如果用户更改了文本框的值,则您的任何变量都不会反映该更改。尝试在onClick函数中移动getText调用:

EditText editText1=findViewById(R.id.editText1);
EditText editText2=findViewById(R.id.editText2);
EditText editText3=findViewById(R.id.editText3);
Button solve=findViewById(R.id.solve);
final TextView textView=findViewById(R.id.textView5);
solve.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v){
        final String veloInput = editText1.getText().toString();
        final String disInput = editText2.getText().toString();
        final String timInput = editText3.getText().toString();
        if (veloInput.equals("v")) {
            int distInput = Integer.parseInt(disInput);
            int timeInput = Integer.parseInt(timInput);
            int value = distInput / timeInput;
            String strValue = Integer.toString(value);
            textView.setText(strValue);
        }
    }
});

07-24 09:24