我的Android复合利息计算器不断崩溃

时间:2012-02-11 06:44:13

标签: java android crash

package dum.de.dum;

import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.os.Bundle;

正常进口?

public class CalcActivity extends Activity {


    Button finish;
    double total;
    double interest2;
    double time2;
    double base2;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {




        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        finish = (Button) findViewById(R.id.total);
        finish.setOnClickListener(new OnClickListener(){
            public void onClick(View V) {

                EditText base;
                base = (EditText) findViewById(R.id.base);
                String baseValue = base.getText().toString();
                double BaseNum = Double.parseDouble(baseValue);

                EditText interest;
                interest = (EditText) findViewById(R.id.interest);
                String interestValue = interest.getText().toString();
                double interestNum = Double.parseDouble(interestValue);

                EditText time;
                time = (EditText) findViewById(R.id.time);
                String timeValue = time.getText().toString();
                double timeNum = Double.parseDouble(timeValue);

                double total = BaseNum * Math.pow(interestNum + 1, timeNum);        

我听说人们在解析数字时遇到麻烦,所以我不确定这是不是问题,如果是,我不知道如何修复它

        EditText Output;
        Output = (EditText) findViewById(R.id.total);
        Output.setText("Your total is: " + total);

        };

    });
}
}

每当我尝试在模拟器中运行它时,我立即关闭力量。我是一名新手程序员,我在eclipse中没有得到任何错误代码。

4 个答案:

答案 0 :(得分:3)

finish = (Button) findViewById(R.id.total);

finish按钮的ID不是R.id.total - 根据这个EditText ...

Output = (EditText) findViewById(R.id.total);

尝试使用该ID找到按钮时,您将获得ClassCastException

答案 1 :(得分:2)

尝试替换

Output.setText("Your total is: " + total);

使用:

Output.setText("Your total is: " + String.valueOf(total));

答案 2 :(得分:0)

你可以看到错误,通过菜单打开视图 - > window-> showView-> logcat,

从您的描述中,一旦您启动活动,该应用程序就会崩溃,问题区域可能是:

finish = (Button) findViewById(R.id.total);
        finish.setOnClickListener(new OnClickListener(){

在main.xml按钮id中检查一次as->机器人:ID /总

答案 3 :(得分:0)

您还必须向我们展示Xml布局文件,因为您首先将完成作为按钮,然后分配了按钮编辑文本。 R.id.total是xml文件中的按钮,如果它是一个按钮,则必须是一个编辑文本,而必须在它们的

中使用edittext框ID
Output = (EditText) findViewById(R.id.(edittext button id));

然后该值将显示在编辑文本框中。