0

単一の入力で複数のメソッドを実行するアプリを開発しています。たとえば、正方形の円周と面積を計算するには、1 つの EditText と 2 つのボタンのみを指定します。しかし、アプリを実行すると、入力して面積ボタンをクリックすると、円周ボタンをクリックするまで計算が行われません。また、入力を変更した場合も同様です。コードは次のとおりです。

     @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.square);
    etSide = (EditText) findViewById(R.id.etSquare);
    tvResult = (TextView) findViewById(R.id.tvSquare);
    Button btnCir = (Button) findViewById(R.id.btnSqrCir);
    btnCir.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            countCir();
        }
    });
    Button btnArea = (Button) findViewById(R.id.btnSqrArea);
    btnArea.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
            countArea();
        }
    });
}

private void countArea() {
    try {
        side = etSide.getText().toString();
        s = parseInt(side);
        area = s * s;
        tvResult.setText("Area = " + cir);
    } catch (NumberFormatException ex){
        Toast.makeText(getApplicationContext(), "Oops, you seem haven't enter the side length", Toast.LENGTH_LONG).show();
    }
}

private void countCir() {
    try {
        side = etSide.getText().toString();
        s = parseInt(side);
        cir = 4 * s;
        tvResult.setText("Circumference = " + area);
    } catch (NumberFormatException ex){
        Toast.makeText(getApplicationContext(), "Oops, you seem haven't enter the side length", Toast.LENGTH_LONG).show();
    }
}

もっと良いアイデアはありますか?本当に助けが必要です...

4

1 に答える 1