因此,我已将输入从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);
}
}
});