0

私は現在 Android 開発に不慣れで、MainActivity Android クラスで自作のクラスを使用しようとして苦労しています。例を挙げましょう。SquareArea クラスを作成し、それを MainActivity クラスで使用したい

public class SquareArea{

  private double _length;
  private double _width;

  public SquareArea(double length , double width){
    _length = length;
    _width = width;
      area();   
  }

  private double area(){
    return _length
  }
}

MainActivity クラスで SquareClass をインスタンス化するときに、area() メソッドを使用して、抽出された値 (EditText)
を返すことができるようにしたいのですが、テキスト ビューに配置するために値を使用したいのです。起こらないようです。

メソッドでそれを行うことができますが、代わりに独自のクラスを使用したいと考えています。

助けてください、私はこれに不満を感じています。

///Below is my MainActivity Class///
public class MainActivity extends Activity {

    EditText mEditText1;
    EditText mEditText2;
    EditText mEditText3;
    TextView mTextView;
    Button mButton;
    Double value1, value2;
    SquareArea sq1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mEditText1 = (EditText) findViewById(R.id.editText1);
        mEditText2 = (EditText) findViewById(R.id.editText2);
        mEditText3 = (EditText) findViewById(R.id.editText3);
        mTextView = (TextView) findViewById(R.id.textView1);

        mEditText1.setBackgroundColor(Color.GREEN);
        mEditText2.setBackgroundColor(Color.GREEN);
        mEditText3.setBackgroundColor(Color.RED);



        mButton = (Button) findViewById(R.id.button1);

        mButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //When the button is clicked, call the calucate method.
                //  calculate();
                try {
                    value1 = Double.parseDouble(mEditText1.getText().toString());
                    value2 = Double.parseDouble(mEditText2.getText().toString());
                    sq1 = new SquareArea(value1, value2);

                    mTextView.setText(sq1.toString());
                } catch (NumberFormatException e) {
                    mTextView.setText("Please use numbers");
                }
            });
        }
}
4

2 に答える 2

0

あなたは宣言するarea() privateので、それを呼び出すことはできません

public double area(){
     return _length
     }  

area() を呼び出すだけです

mTextView.setText(String.ValueOf(sq1.area()));
于 2013-04-13T00:25:44.947 に答える