数学计算的结果未显示在屏幕上

时间:2019-06-02 05:32:36

标签: java android

我正在尝试制作一个简单的Android应用程序来计算声纳信号的直径。用户输入深度(以米为单位)和角度(以度为单位),应用将信息输入公式中: 2.0 *深度* Math.tan(角度/ 2.0)

因此,我已经创建了UI和Java代码,当我在要加载的VM中运行该应用程序时,我输入数字对其进行测试,而当我单击“计算”按钮时,它什么也没做。我一般是Java和android开发的新手,所以如果有人能说出些什么,那将是很棒的。

这里是MainActivity.java

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));

3 个答案:

答案 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(...)

请参阅: https://developer.android.com/reference/android/view/View.html#setOnContextClickListener(android.view.View.OnContextClickListener)