我是编程和Android的新手。我正在尝试一个简单的应用程序而且我被卡住了!
我有两个editTexts(设置为仅接受数字)和一个按钮。想法是在按下按钮时显示两个用户输入的总和。但是,当我单击模拟器中的按钮时,我的应用程序停止工作并强制关闭。
非常感谢任何帮助。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prevailing_torque);
Button calculatePrevailing = (Button) findViewById(R.id.button_calculatePrevailing);
calculatePrevailing.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
TextView prevailingSetting = (TextView) findViewById(R.id.textViewSetting);
EditText editTextPrevailing = (EditText) findViewById(R.id.editTextPrevailing);
EditText editTextRecommended = (EditText) findViewById(R.id.editTextReccomended);
int p = Integer.parseInt(editTextPrevailing.getText().toString());
int r = Integer.parseInt(editTextRecommended.getText().toString());
prevailingSetting.setText(r+p);
}
});
}
我在这里看过几个类似的问题,但是我找不到任何可以比我已经做过的更多的东西了。但我可能正在寻找错误的地方。 谢谢!
答案 0 :(得分:1)
你不能将setText()与Integer一起使用,因为它需要CharSequence,你必须使用
prevailingSetting.setText(String.valueOf(r+p));
或只是
prevailingSetting.setText(""+(r+p));
答案 1 :(得分:0)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prevailing_torque);
Button calculatePrevailing = (Button) findViewById(R.id.button_calculatePrevailing);
TextView prevailingSetting = (TextView) findViewById(R.id.textViewSetting);
EditText editTextPrevailing = (EditText) findViewById(R.id.editTextPrevailing);
EditText editTextRecommended =(EditText)findViewById(R.id.editTextReccomended);
calculatePrevailing.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
int p = Integer.parseInt(editTextPrevailing.getText().toString());
int r = Integer.parseInt(editTextRecommended.getText().toString());
int s = r+p;
prevailingSetting.setText(Integer.toString(s));
}
});
答案 2 :(得分:0)
好的!如果这是你的问题,那么首先将你的editText值转换为字符串,之后将其转换为整数,如!
String str1=editTextPrevailing.getText().toString();
String str2=editTextRecommended.getText().toString();
int p = Integer.parseInt(str1);
int r = Integer.parseInt(str2);
int s = r+p;
prevailingSetting.setText(""+s);