0

後で拡張する基本的な変換ツールを作成しようとしています。しかし、EditTextから情報を取得し、それをIntegerに変換してから乗算しようとすると、ボタンのクリックでアプリケーションがクラッシュします。私のJavaコードは次のとおりです。このサイトの新しいメンバーですが、ここ数週間ヘルプに使用されています。


 package com.example.mayconverter;

 import android.app.Activity;
 import android.os.Bundle;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;

 public class Feetyards extends Activity{

EditText feet;
Button convertFeet;
int formula;
TextView displayText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.feet_yards);

    displayText =(TextView) findViewById(R.id.displayText);
    formula = 3;
    convertFeet = (Button) findViewById(R.id.buttonFeet);   
    final EditText feet = (EditText) findViewById(R.id.editTextFeet);




    convertFeet.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            String data = feet.getText().toString();
            final int dataint = Integer.parseInt(data);


            displayText.setText(dataint + formula);

        }
    });

}

}

4

2 に答える 2

1

LogCatエラーを投稿することは常に役立ちますが、2つの問題があるようです。

  1. 同じ名前の2つの変数を誤って作成していますfeet

    これにより、ローカルfeet変数が作成されます(必要なものではありません)

    final EditText feet = (EditText) findViewById(R.id.editTextFeet);
    

    代わりにこれを使用して、クラス変数を初期化しますfeet

    feet = (EditText) findViewById(R.id.editTextFeet);
    
  2. 「式」を文字列に戻す必要があります。

    displayText.setText((dataint + formula) + "");
    

を使用すると、関数に渡された文字列を表示しsetText(Int)ながら、リソースに格納されている文字列値を読み込もうとしました。setText(String)

于 2012-10-27T22:29:04.557 に答える
0

この行を置き換えます

displayText.setText(dataint + formula);

displayText.setText((dataint + formula)+"");
于 2012-10-27T22:28:52.970 に答える