1

我是编程和 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);
        }
    });
}

我在这里查看了几个类似的问题,但我找不到任何可以比我已经完成的更进一步的实现。但我可能在错误的地方寻找。谢谢!

4

3 回答 3

1

您不能将 setText() 与 Integer 一起使用,因为它需要 CharSequence,您必须使用

prevailingSetting.setText(String.valueOf(r+p));

要不就

prevailingSetting.setText(""+(r+p));
于 2012-12-05T16:30:14.337 回答
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));


    }
    });
于 2012-12-05T16:32:02.933 回答
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);
于 2012-12-05T17:32:42.697 回答