我正在尝试制作一个简单的Android应用程序来计算声纳信号的直径。用户输入深度(以米为单位)和角度(以度为单位),应用将信息输入公式中: 2.0 *深度* Math.tan(角度/ 2.0)
因此,我已经创建了UI和Java代码,当我在要加载的VM中运行该应用程序时,我输入数字对其进行测试,而当我单击“计算”按钮时,它什么也没做。我一般是Java和android开发的新手,所以如果有人能说出些什么,那将是很棒的。
UI小部件activity_main.xml的XML文件
我怀疑问题与包含公式的此代码有关,但我不确定,因此将不胜感激:
double depth1 = Integer.parseInt(depth.getText().toString());
double angle1 = Integer.parseInt(angle.getText().toString());
double result1 = 2.0 * depth1 * Math.tan(angle1 / 2.0);
result.setText(valueOf(result1));
答案 0 :(得分:0)
它什么都不做,因为您在TextView上添加了onClickListener而不是此处的Button:
result.setOnClickListener(...)
您只需将其更改为此:
// instance of your button
cal.setOnClickListener(...)
答案 1 :(得分:0)
您正在使用result
视图的clicklistener,这就是为什么在单击cal
视图(计算按钮)时不显示该值的原因。请尝试以下操作。
cal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//converting the user input from a string to an integer for calculation
double depth1 = Integer.parseInt(depth.getText().toString());
double angle1 = Integer.parseInt(angle.getText().toString());
double result1 = 2.0 * depth1 * Math.tan(angle1 / 2.0);
result.setText(String.valueOf(result1));
}
});
答案 2 :(得分:0)
我们使用setOnContextClickListener来注册在上下文视图中单击时要调用的回调。如果视图不是上下文可单击的,那么它将变为上下文可单击的。
因此,如上所述,
result.setOnClickListener(...)
使用
cal.setOnClickListener(...)