Android-如何从edittext获取文本并进行计算? [英] Android - How to get text from edittext and calculate them?
本文介绍了Android-如何从edittext获取文本并进行计算?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个应用,我想计算编辑文本. 我有以下代码:
I have an app, and I want to calculate the edit text. I have this code:
package com.minimale.cijfer;
import android.app.Activity;
import android.os.Bundle;
import android.text.InputType;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.minimale.cijfer.R;
public class main extends Activity {
/** Called when the activity is first created. */
EditText gehaald_een;
EditText gehaald_twee;
EditText gehaald_drie;
EditText gehaald_een_weging;
EditText gehaald_twee_weging;
EditText gehaald_drie_weging;
EditText nieuw;
EditText nieuw_weging;
EditText finalResult;
OnClickListener radioGroup;
double een;
double twee;
double drie;
double vier;
double een_c;
double twee_c;
double drie_c;
double nieuw_c;
double weging_t;
double answer;
Button addButton;
Button divideButton;
Button multiplyButton;
Button subtractButton;
Button final_calculation;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gehaald_een = (EditText)findViewById(R.id.editText1);
gehaald_twee = (EditText)findViewById(R.id.editText2);
gehaald_drie = (EditText)findViewById(R.id.editText3);
gehaald_een_weging = (EditText)findViewById(R.id.editText4);
gehaald_twee_weging = (EditText)findViewById(R.id.editText5);
gehaald_drie_weging = (EditText)findViewById(R.id.editText6);
finalResult = (EditText)findViewById(R.id.answer);
nieuw = (EditText)findViewById(R.id.editText7);
nieuw_weging = (EditText)findViewById(R.id.editText8);
divideButton =(Button)findViewById(R.id.button1);
divideButton.setOnClickListener(new DivideButtonHandler());
}
private class DivideButtonHandler implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
een = Double.parseDouble(gehaald_een_weging.getText().toString());
twee = Double.parseDouble(gehaald_twee_weging.getText().toString());
drie = Double.parseDouble(gehaald_drie_weging.getText().toString());
vier = Double.parseDouble(nieuw_weging.getText().toString());
een_c = Double.parseDouble(gehaald_een.getText().toString());
twee_c = Double.parseDouble(gehaald_twee.getText().toString());
drie_c = Double.parseDouble(gehaald_drie.getText().toString());
nieuw_c = Double.parseDouble(nieuw.getText().toString());
weging_t = Double.parseDouble(nieuw_weging.getText().toString());
answer = ((een + twee + drie + vier) * nieuw_c - ((een_c * een) + (twee * twee_c)) / weging_t);
finalResult.setText(answer + "");
}
}
}
但是,当我运行我的应用程序,并在其中填充edittext框并按下按钮时,我的应用程序强制关闭.有人知道我做错了吗?
But when I run my app, and fill the edittext boxes in and press on the button, my app force closes. Does anybody know what I did wrong?
推荐答案
使用
Double.valueOf(String s);
代替
Double.parseDouble();
并替换
finalResult.setText(answer + "");
使用
finalResult.setText(Double.toString(answer) + "");
这篇关于Android-如何从edittext获取文本并进行计算?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文