Android 使用Integer.parseInt将文本编辑为int

Android 使用Integer.parseInt将文本编辑为int,android,Android,我是编程和安卓的新手。我正在尽我最大的努力开发一个简单的应用程序,我被卡住了 我有两个编辑文本(设置为只接受数字)和一个按钮。这个想法是在按下按钮时显示两个用户输入的总和。但是,当我单击emulator中的按钮时,我的应用程序停止工作,force关闭 任何帮助都将不胜感激 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCo

我是编程和安卓的新手。我正在尽我最大的努力开发一个简单的应用程序,我被卡住了

我有两个编辑文本(设置为只接受数字)和一个按钮。这个想法是在按下按钮时显示两个用户输入的总和。但是,当我单击emulator中的按钮时,我的应用程序停止工作,force关闭

任何帮助都将不胜感激

@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);
        }
    });
}
我在这里已经研究了几个类似的问题,但是我没有找到任何比我已经做的更进一步的实现方法。但我可能找错地方了。 谢谢

不能对整数使用setText(),因为它需要一个字符序列,所以必须使用

prevailingSetting.setText(String.valueOf(r+p));
或者只是

prevailingSetting.setText(""+(r+p));
不能对整数使用setText(),因为它需要一个字符序列,所以必须使用

prevailingSetting.setText(String.valueOf(r+p));
或者只是

prevailingSetting.setText(""+(r+p));

好的!如果这是您的问题,那么首先将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);

好的!如果这是您的问题,那么首先将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);

将错误日志粘贴到此处欢迎使用SO!它在LogCat中抛出了什么错误?请尝试:.setText(Integer.toString(r+p))将错误日志粘贴到此处欢迎使用SO!它在LogCat中抛出了什么错误?试试:.setText(Integer.toString(r+p))谢谢!第一位工作得很好。第二个返回10+20=1020。是的,实际上你必须先做数学运算,所以它将占上风。setText(“+(r+p));非常感谢。第一位工作得很好。第二个返回10+20=1020。是的,实际上你必须先做数学运算,所以它将占上风。setText(“+(r+p));