1

私はプログラミングとAndroidが初めてです。私は単純なアプリで最善を尽くしていますが、行き詰まっています!

2 つの editText (数値のみを受け入れるように設定) とボタンがあります。アイデアは、ボタンが押されたときに 2 つのユーザー入力の合計を表示することです。ただし、エミュレーターのボタンをクリックすると、アプリの動作が停止し、強制終了します。

どんな助けでも大歓迎です。

@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() は CharSequence を想定しているため、Integer で使用することはできません。使用する必要があります。

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

Ok !これが問題である場合は、最初に 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 に答える